米斯特白帽培訓(xùn)講義 工具篇 BruteXSS
講師:gh0stkey
整理:飛龍
協(xié)議:CC BY-NC-SA 4.0
介紹
BruteXSS 是一個非常強大和快速的跨站點腳本檢測工具妓灌,可用于暴力注入?yún)?shù)豁延。BruteXSS 從指定的詞庫加載多種有效載荷進(jìn)行注入蚊伞,并且使用指定的載荷和掃描檢查這些存在 XSS 漏洞的參數(shù)浪讳。得益于非常強大的掃描功能佑刷,在執(zhí)行任務(wù)時隙袁,BruteXSS 非常準(zhǔn)確而且極少誤報臊诊。 BruteXSS 支持 POST 和 GET 請求芽世,并適應(yīng)現(xiàn)代 Web 應(yīng)用程序。
特性:
- XSS 爆破
- XSS 掃描
- GET/POST 請求
- 可包含自定義單詞
- 人性化的 UI
安裝
首先安裝 Python 2.7藻三。
依賴是Colorama
和Mechanize
兩個庫洪橘。但我看到源碼中包含了這兩個庫,所以一般不用自己安裝棵帽。如果運行失敗熄求,那么執(zhí)行這兩條命令手動安裝一下。
pip install colorama
pip install Mechanize
之后從https://github.com/shawarkhanethicalhacker/BruteXSS/zipball/master
下載所有文件逗概,解壓弟晚。
還需要單詞列表,原版的wordlist.txt
有 20 條語句逾苫,只能執(zhí)行基本的 XSS 檢查卿城。
https://github.com/ym2011/penetration/blob/master/BruteXSS/wordlist-small.txt
這個文件有 100 條語句,可以執(zhí)行相對全面的 XSS 檢查隶垮。
https://github.com/ym2011/penetration/blob/master/BruteXSS/wordlist-medium.txt
這個文件有 200 條語句藻雪,可以執(zhí)行繞過 WAF 的 XSS 檢查。
https://github.com/ym2011/penetration/blob/master/BruteXSS/wordlist-huge.txt
這個文件有 5000 條語句狸吞,可以非常全面并且執(zhí)行繞過 WAF 的 XSS 檢查勉耀。
然后為了模擬被測頁面,我們還要部署一個頁面:
\\XSS反射演示
<form action="" method="get">
<input type="text" name="xss"/>
<input type="submit" value="test"/>
</form>
<?php
$xss = @$_GET['xss'];
if($xss!==null){
echo $xss;
}
假設(shè)我們能夠通過localhost/xss.php
來訪問它蹋偏。
使用
首先在解壓處執(zhí)行:
python brutexss.py
于是就進(jìn)入命令行界面了
____ _ __ ______ ____
| __ ) _ __ _ _| |_ ___ \ \/ / ___/ ___|
| _ \| '__| | | | __/ _ \ \ /\___ \___ \
| |_) | | | |_| | || __/ / \ ___) |__) |
|____/|_| \__,_|\__\___| /_/\_\____/____/
User:Gh0stkey
注意:使用錯誤的有效載荷的定義
字典可能給你積極性質(zhì)
更好地使用字典
提供積極的結(jié)果便斥。
[?] 選擇方法: [G]GET 或者 [P]Post (G/P):
下面它會詢問我們一些配置。我們在選擇方法時輸入G
威始,指定 URL 時輸入http://localhost/xss.php?xss
枢纠,這里一定要把參數(shù)暴露出來給它。然后字典位置輸入wordlist.txt
黎棠,大家也可以嘗試其他字典晋渺。
[?] 選擇方法: [G]GET 或者 [P]Post (G/P): G
[?] 輸入 URL:
[?] > http://localhost/xss.php?xss=
[+] 檢測 localhost 是可用的...
[+] localhost is available! Good!
[?] 輸入字典的位置 (按Enter鍵使用默認(rèn) wordlist.txt)
[?] > wordlist.txt
之后程序會顯示結(jié)果,告知我們該頁面存在 XSS 漏洞脓斩。
[+] 從指定字典加載載荷.....
[+] 25 攻擊載荷加載...
[+] Bruteforce開始:
[+] 測試 'xss' 參數(shù)...
[+] 0 / 25 攻擊載荷注入...
[!] Xss漏洞發(fā)現(xiàn)
[!] 參數(shù): xss
[!] Payload: </script>"><script>prompt(1)</script>
[+] Bruteforce完成木西。
[+] 1 參數(shù)是 容墜セ韉? xss.
[+] 掃描結(jié)果 localhost:
+----+------------+----------------+
| Id | Parameters | Status |
+----+------------+----------------+
| 0 | xss | Vulnerable |
+----+------------+----------------+
[?] [E]結(jié)束進(jìn)程\[A]程序初始化
之后它會讓我們選擇,結(jié)束進(jìn)程的意思就是退出随静,初始化的意思就是重新開始八千。如果不需要掃描其他東西吗讶,我們輸入E
。
如果是 POST 掃描恋捆,我們?yōu)?URL 輸入http://localhost/xss.php
照皆,為數(shù)據(jù)輸入xss=
就可以了。
由于一些 XSS 比如儲存型 XSS 不便于自動化掃描沸停,這個工具的作用仍然很有限膜毁,遇到掃不出來的漏洞很正常。