xss测试工具xsstrike(基于python3)
轉(zhuǎn)載至https://github.com/s0md3v/XSStrike/wiki/Usage
特點
反射和DOM XSS掃描多線程抓取背景分析可配置的核心WAF檢測和規(guī)避瀏覽器引擎集成為零誤報率智能負載發(fā)生器手工制作的HTML和JavaScript解析器強大的模糊引擎支持Blind XSS完善的工作流程完整的HTTP支持來自文件的Bruteforce有效負載有效載荷編碼python編寫xsstrike很強
項目地址:
安裝
git clone https://github.com/s0md3v/XSStrike.git使用文檔
https://github.com/s0md3v/XSStrike/wiki/Usage usage: xsstrike.py [-h] [-u TARGET] [--data DATA] [-t THREADS] [--seeds SEEDS] [--json] [--path][--fuzzer] [--update] [--timeout] [--params] [--crawl] [--blind][--skip-dom] [--headers] [--proxy] [-d DELAY] [-e ENCODING]optional arguments:-h, --help show this help message and exit-u, --url target url--data post data-f, --file load payloads from a file-t, --threads number of threads-l, --level level of crawling-t, --encode payload encoding--json treat post data as json--path inject payloads in the path--seeds load urls from a file as seeds--fuzzer fuzzer--update update--timeout timeout--params find params--crawl crawl--proxy use prox(y|ies)--blind inject blind xss payloads while crawling--skip skip confirmation dialogue and poc--skip-dom skip dom checking--headers add headers-d, --delay delay between requests!!!重點總結(jié)
比如:http://192.168.123.112/bachang/pikachu-master/vul/xss/xss_reflected_get.php?message=213&submit=submit這樣,message參數(shù)處存在反射型xss漏洞:
但是這里還有個sumbit參數(shù),那么把這串地址放到xsstrike中跑,就檢測不出漏洞了:
而自己寫的只有單個message參數(shù)的卻可以:
所以說,如果像第一個這樣有兩個參數(shù)的話,可以嘗試先把sumbit參數(shù)刪掉,然后測試message參數(shù)是否存在xss漏洞;如果message參數(shù)不存在,那么把message參數(shù)刪掉,測試sumbit參數(shù)是否存在xss漏洞,以此類推,就是只能一個一個參數(shù)的測試了。
掃描單個URL
選項:-u或--url
測試一個使用GET方法的網(wǎng)頁。
python xsstrike.py -u "http://example.com/search.php?q=query"
提供POST數(shù)據(jù)
python xsstrike.py -u "http://example.com/search.php" --data "q=query"
測試URL路徑組件
選項: --path
想要將有效負載注入URL路徑,例如http://example.com/search/<payload>,您可以使用--pathswitch來實現(xiàn)。
python xsstrike.py -u "http://example.com/search/form/query" --path
將POST數(shù)據(jù)視為JSON
選項: --json
此開關(guān)可用于通過POST方法測試JSON數(shù)據(jù)。
python xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"} --json'
爬行
選項: --crawl
從目標(biāo)網(wǎng)頁開始搜尋目標(biāo)并進行測試。
python xsstrike.py -u "http://example.com/page.php" --crawl
爬行深度
選項:-l或--level| 默認:2
通過此選項,您可以指定爬網(wǎng)的深度。
python xsstrike.py -u "http://example.com/page.php" --crawl -l 3
測試/搜尋文件中的URL
選項: --seeds
如果要測試文件中的URL,或者只是想添加種子進行爬網(wǎng),則可以使用該--seeds選項。
python xsstrike.py --seeds urls.txt
要么
python xsstrike.py -u "http://example.com" -l 3 --seeds urls.txt
文件中的蠻力載荷
選項:-f或--file
您可以從文件加載有效負載,并檢查它們是否有效。XSStrike在此模式下不會執(zhí)行任何分析。
python3 xsstrike.py -u "http://example.com/page.php?q=query" -f /path/to/file.txt
使用default與負載XSStrike的默認有效載荷文件路徑。
查找隱藏的參數(shù)
選項: --params
通過解析HTML和暴力破解來查找隱藏的參數(shù)。
python xsstrike.py -u "http://example.com/page.php" --params
線程數(shù)
選項:-t或--threads| 默認:2
可以在爬網(wǎng)時向目標(biāo)發(fā)出并發(fā)請求,并且-t可以使用option指定要發(fā)出的并發(fā)請求數(shù)。盡管線程可以幫助加快爬網(wǎng)速度,但它們也可能觸發(fā)安全機制。大量的線程也可能導(dǎo)致小型網(wǎng)站癱瘓。
python xsstrike.py -u "http://example.com" -t 10 --crawl -l 3
超時
選項:--timeout| 默認:7
在考慮HTTP(S)請求超時之前,可以指定等待的秒數(shù)。
python xsstrike.py -u "http://example.com/page.php?q=query" --timeout=4
延遲
選項:-d或--delay| 默認:0
可以指定在每個HTTP(S)請求之間保留的秒數(shù)。有效值為int,例如1表示秒。
python xsstrike.py -u "http://example.com/page.php?q=query" -d 2
提供HTTP標(biāo)頭
選項: --headers
此選項將打開您的文本編輯器(默認為'nano'),您只需粘貼HTTP標(biāo)頭并按Ctrl + S保存即可。
如果您的操作系統(tǒng)不支持此功能,或者您不想這樣做,則可以簡單地從命令行添加標(biāo)頭,\n并按如下所示分隔: python xsstrike.py -u http://example.com/page.php?q=query --headers "Accept-Language: en-US\nCookie: null"
盲XSS
選項: --blind
在爬網(wǎng)時使用此選項將使XSStrike注入您定義的XSS盲負載,core/config.py以將其注入每個HTML表單的每個參數(shù)。
python xsstrike.py -u http://example.com/page.php?q=query --crawl --blind
有效負載編碼
選項:-e或--encode
XSStrike可以按需編碼有效負載。到目前為止,支持以下編碼:
- base64
python xsstrike.py -u "http://example.com/page.php?q=query" -e base64
想要支持編碼嗎?打開一個問題。
模糊測試
選項: --fuzzer
該模糊器旨在測試過濾器和Web應(yīng)用程序防火墻。這非常緩慢,因為它會隨機發(fā)送*延遲請求,并且延遲可能長達30秒。要使延遲最小,請使用-d選項將延遲設(shè)置為1秒。
python xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer
記錄中
選項:--console-log-level|Default: INFO
可以選擇最低日志記錄級別以在控制臺中顯示xsstrike日志: python xsstrike.py -u "http://example.com/search.php?q=query" --console-log-level WARNING
選項:--file-log-level|Default: None
如果指定,xsstrike還將將具有相同日志記錄級別或更高日志記錄級別的所有日志寫入文件: python xsstrike.py -u "http://example.com/search.php?q=query" --console-log-level DEBUG
選項:--log-file|Default: xsstrike.log
將存儲日志的文件名。請注意,如果--file-log-level未指定,此選項將無效。 python xsstrike.py -u "http://example.com/search.php?q=query" --file-log-level INFO --log-file output.log
使用代理
選項:--proxy | 默認0.0.0.0:8080
您必須在其中設(shè)置代理(y | ies)core/config.py,然后可以使用--proxy開關(guān)隨時使用它們。
有關(guān)設(shè)置代理的更多信息,請參見此處。
python xsstrike.py -u "http://example.com/search.php?q=query" --proxy
跳過確認提示
選項: --skip
如果希望XSStrike在找到有效負載的情況下繼續(xù)掃描,而不詢問您是否要繼續(xù)掃描,則可以使用此選項。它還將跳過POC生成。
python xsstrike.py -u "http://example.com/search.php?q=query" --skip
跳過DOM掃描
選項: --skip-dom
您可能希望在爬網(wǎng)時跳過DOM XSS掃描,以節(jié)省時間。
python xsstrike.py -u "http://example.com/search.php?q=query" --skip-dom
更新資料
選項: --update
如果啟用此選項,XSStrike將檢查更新。如果有更新的版本可用,XSStrike將下載更新并將其合并到當(dāng)前目錄中,而不會覆蓋其他文件。
python xsstrike.py --update
總結(jié)
以上是生活随笔為你收集整理的xss测试工具xsstrike(基于python3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红色警戒95版的地图编辑器Edwin.e
- 下一篇: 游戏开发入门