如何進行安全測試-XSS篇


XSS分為三類:Stored XSS、Reflected XSS、Dom-Base XSS

 

(1)Stored XSS,即存儲式跨站攻擊,存儲式跨站攻擊簡單來說就是攻擊者提交給網站的數據會提交並永久保存到服務器的數據庫或者是文件系統等其他地方,之后不做任何編碼操作就會顯示在web頁面上。這是最厲害的攻擊方式。這種攻擊方式影響比較大,影響的用戶范圍廣

例如1:在一個網站的一些留言板或者新聞等可以輸入的地方,輸入一下代碼:

<script>alert(document.cookie)</script> 或者其他功能更強大的js 
  • 1

因為這個是留言板上或者評論等的內容,會被讀取並且存儲到服務器上,如果不作任何處理,當其他用戶訪問這個網頁的時候,就會彈出一個關於cookie的警告信息。

例如2:在評論的時候輸入<script type="text/javascript">alert("you are a foolish person")</script>,如果不進行處理,這個信息會被當做正常的留言存儲到服務器,那個接下來每個訪問這個頁面的用戶都會收到you are a foolish person的alert信息,會造成很大的影響。(可用於竊取密碼,用戶信息等)

(2)Reflected XSS,即反射跨站腳本攻擊,這是最常見的攻擊方式。所謂反射,就是等着服務器所給的返回。我們在進行測試時依據的就是在自己頁面上的簡單注入。在web客戶端提交了數據后,服務端馬上給這個請求生成返回結果頁,如果結果中包含了未驗證的客戶端輸入數據,那就表示會允許客戶端腳本直接注入到頁面里,也就出現了這樣一個漏洞。簡單舉個例子,在搜索引擎里邊,我們如果搜索了一個包含html代碼的字符串,如果返回的字符串仍然沒被編碼,那么搜索的內容就不是整個html代碼了,而是只想過這個html代碼,那就是存在XSS漏洞了。

(3)Dom-Base XSS,即基於DOM的XSS攻擊,它是修改頁面DOM節點數據信息而形成的XSS跨站腳本攻擊,該漏洞多見於客戶端腳本,意思就是如果一個js訪問需要參數的url,並且需要把信息作用於自己當前的頁面,信息又未被編碼,就會出現該漏洞。

例如:好多網站在網址后邊帶個參數(?XXX的),當看到這種情況時候,我們可以在參數后邊加個,如果加了這個參數之后,這段script代碼不被編碼就輸出,那就證明它具有這么一個漏洞。 在某個參數中輸入以下內容:

><script>alert(document.cookie)</script>
 
=’><script>alert(document.cookie)</script>
 
<script>alert(document.cookie)</script>
 
<script>alert(vulnerable)</script>
 
<script>alert(’XSS’)</script>
"onfocus="alert(document.cookie)
 
<imgsrc=/uploadfile/ 2015 / 0301 / 20150301105236644 .png” nerror=”alert(’XSS’)”>
 
<divstyle=”height:expression_r(alert(’XSS’), 1 )” />(這個僅限 IE 有效)
 
對於自身的網站最好可以借助一下工具:http://www.freebuf.com/sectool/43194.html

快速、直接的XSS漏洞檢測爬蟲 – XSScrapy

 

XSScrapy的XSS漏洞攻擊測試向量將會覆蓋

Http頭中的Referer字段
User-Agent字段
Cookie
表單(包括隱藏表單)
URL參數
RUL末尾,如 www.example.com/<script>alert(1)</script> 跳轉型XSS

http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html


免責聲明!

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



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