XSStrike工具的安装及使用
XSStrike工具的安装及使用
0x01 简介
XSStrike是一款检测Cross Site Scripting的高级检测工具。它集成了payload生成器、爬虫和模糊引擎功能。XSStrike不是像其他工具那样注入有效负载并检查其工作,而是通过多个解析器分析响应,然后通过与模糊引擎集成的上下文分析来保证有效负载。除此之外,XSStrike还具有爬行,模糊测试,参数发现,WAF检测功能。它还会扫描DOM XSS漏洞。
0x02 特点
对参数进行模糊测试之后构建合适的payload
使用payload对参数进行穷举匹配
内置爬虫功能
检测并尝试绕过WAF
同时支持GET及POST方式
大多数payload都是由作者精心构造
误报率极低
0x03 安装
XSStrike只可以运行在python 3.6
及以上版本。
- 给python3安装pip,使用命令如下:
sudo apt-get install python3-pip
- 下载XSStrike,命令如下:
git clone https://github.com/s0md3v/XSStrike.git
- 更新依赖模块,命令如下:(进入XSStrike目录)
pip3 install -r requirements.txt
- 运行工具,命令如下:
python3 xsstrike.py -u "http://target"
0x04 使用方法
- 测试GET传参的网页:
python3 xsstrike.py -u "http://192.168.26.138/xss.php?payload=1"
- 测试POST数据:
python3 xsstrike.py -u "http://example.com/search.php" --data "q=query"
python3 xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"} --json'
- 测试URL路径:
python3 xsstrike.py -u "http://example.com/search/form/query" --path
- 从目标网页开始搜寻目标并进行测试
python3 xsstrike.py -u "http://example.com/page.php" --crawl
可以使用
-l
指定爬网的深度,默认2:-l
python3 xsstrike.py -u "http://example.com/page.php" --crawl -l 3
- 如果要测试文件中的URL,或者只是想添加种子进行爬网,则可以使用该
--seeds
选项:
python xsstrike.py --seeds urls.txt
- 查找隐藏的参数:
通过解析HTML和暴力破解来查找隐藏的参数
python3 xsstrike.py -u "http://example.com/page.php" --params
- 盲打XSS:爬行中使用此参数可向每个html表单里面的每个变量插入xss代码
python3 xsstrike.py -u http://example.com/page.php?q=query --crawl --blind
- 模糊测试 --fuzzer
该模糊器旨在测试过滤器和Web应用程序防火墙,可使用-d
选项将延迟设置为1秒。
python3 xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer
- 跳过DOM扫描
在爬网时可跳过DOM XSS扫描,以节省时间
python3 xsstrike.py -u "http://example.com/search.php?q=query" --skip-dom
- 更新:
使用 --updata选项,XSStrike将检查更新。如果有更新的版本可用,XSStrike将下载更新并将其合并到当前目录中,而不会覆盖其他文件。
python3 xsstrike.py --update
总的来说
:XSStrike的命令参数不多,通过查看帮助信息,可以很好的了解并熟悉。
0x05 案例
做一个简单的测试,写一个xss.php放在/var/www/html目录下,启动apache2(service apach2 start):
<?php
$n = $_GET['payload'];
echo $n;
?>
使用xsstrike进行检测:
输入y
会继续探测,默认结束探测,然后将payload传入参数即可。
参考链接: