xss原理及簡單介紹


XSS簡單介紹—Web攻擊

一 ·基礎介紹

xss表示Cross Site Scripting(跨站腳本攻擊),它與SQL注入攻擊類似,SQL注入攻擊中以SQL語句作為用戶輸入,從而達到查詢/修改/刪除數據的目的,而在xss攻擊中,通過插入惡意腳本,實現對用戶游覽器的控制。

二·分類

(一)持久型/存儲型

非持久型xss攻擊是一次性的,僅對當次的頁面訪問產生影響。非持久型xss攻擊要求用戶訪問一個被攻擊者篡改后的鏈接,用戶訪問該鏈接時,被植入的攻擊腳本被用戶游覽器執行,從而達到攻擊目的。

 例一:

        通過在交互頁面尋找xss漏洞,再通過插入xss惡意代碼<script>alert('xss')</script> ,當管理員登陸界面時,就會彈出xss.

(二)非持久型/反射型

持久型xss攻擊會把攻擊者的數據存儲在服務器端,攻擊行為將伴隨着攻擊數據一直存在。下面來看一個利用持久型xss攻擊獲取session id的實例。

 例二:

        在交互頁面輸入<script>alert('xss')</script> 漏洞代碼,立即彈出xss.

三·xss漏洞查找方法

1. 黑盒測試

所謂黑盒測試, 就是在不知道系統的代碼和運行狀態的條件下,對系統進行的測試。在對XSS漏洞的檢測中,我們可以模擬黑客的攻擊手段,在所有可能的數據輸入接口處,嘗試 進行一些XSS注入。通過觀察注入后的引用這些數據的頁面,看其是否出現被注入的現象,即可確實是否存在XSS漏洞。比如我們可以用下面所列的一些腳本來 嘗試XSS注入:

><script>alert(document.cookie)</script>

=’><script>alert(document.cookie)</script>

<script>alert(document.cookie)</script>

<script>alert(vulnerable)</script>

<script>alert(’XSS’)</script>

<imgsrc=/uploadfile/2015/0301/20150301105236644.png” nerror=”alert(’XSS’)”>

2. 靜態分析

靜態分析方法屬於白盒測試方法的一種,它通過對Web應用的代碼進行分析,從而發現其中可能存在的問題。

 

3. 數據流分析

XSS 之所以產生,根本原因在於不安全的數據流, 使得用戶的輸入數據被直接嵌入到某些頁面中。比如PHP中的echo語句,就能夠將一些數據直接添加為 HTML頁面的一部分,如果這個數據是用戶注入了XSS腳本的數據,則會導致產生XSS攻擊。因此,數據流分析的主要思想就是使用一些模型或者工具,分析 Web應用程序代碼中的數據傳輸情況,從而發現其中存在的問題。

 

四·缺陷

1、耗時間
2、有一定幾率不成功
3、沒有相應的軟件來完成自動化攻擊
4、前期需要基本的html、js功底,后期需要扎實的html、js、actionscript2/3.0等語言的功底
5、是一種被動的攻擊手法
6、對website有http-only、crossdomian.xml沒有用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM