XSS 检测神器:XSStrike 保姆级教程
用户可以使用自定义的负载进行攻击,这些负载可以根据漏洞的特点进行定制,提高攻击的成功率。
一、介绍
XSStrike 是一款专门用于检测和利用跨站脚本(XSS)漏洞的工具,具有自动化、智能化的特点,它的主要功能包括:
-
自动检测: XSStrike 能够自动发现 Web 应用程序中的 XSS 漏洞,无需用户手动输入或指定漏洞的位置。
-
DOM 检测: 这个功能允许用户进行 DOM 型 XSS 检测,即检测基于客户端脚本操作 DOM 结构而产生的漏洞。
-
自定义负载: 用户可以使用自定义的负载进行攻击,这些负载可以根据漏洞的特点进行定制,提高攻击的成功率。
-
绕过 WAF: XSStrike 具有能够绕过 Web 应用程序防火墙(WAF)的功能,从而有效地检测和利用 XSS 漏洞。
-
报告生成: 工具能够生成详细的报告,其中包括漏洞的位置、利用的负载、攻击的结果等信息,便于用户进行后续的分析和修复。
-
漏洞利用: XSStrike 能够利用发现的 XSS 漏洞,执行任意 JavaScript 代码,包括窃取用户的会话 Cookie、重定向用户到恶意网站等攻击行为。
总的来说,XSStrike 是一款强大的 XSS 漏洞检测和利用工具,具有自动化、智能化的特点,能够帮助安全研究人员和渗透测试人员快速发现和利用 Web 应用程序中的 XSS 漏洞。然而,请在合法授权的范围内使用该工具,切勿用于未经授权的攻击行为。
二、安装 XSStrike
git clone https://github.com/s0md3v/XSStrike.git
cd XSStrike/
pip3 install -r requirements.txt
三、使用 XSStrike
3.1 扫描单个网址
python xsstrike.py -u "http://example.com/search.php?q=query"
3.2 测试 URL 路径组件
选项:--path
在 URL 路径中注入有效负载
python xsstrike.py -u "http://example.com/search/form/query" --path
3.3 将 POST 数据视为 JSON
选项:--json
该开关可用于通过 POST 方法测试 JSON 数据
python xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"}' --json
3.4 爬行
选项:--crawl
从目标网页开始抓取目标并进行测试
python xsstrike.py -u "http://example.com/page.php" --crawl
3.5 爬行深度
选项:-l(默认为 2)
此选项允许您指定爬网的深度
python xsstrike.py -u "http://example.com/page.php" --crawl -l 3
3.6 从文件中测试/抓取 URL
选项:--seeds
python xsstrike.py --seeds urls.txt
或者
python xsstrike.py -u "http://example.com" -l 3 --seeds urls.txt
3.7 从文件中暴力破解有效负载
选项:-f
您可以从文件加载有效负载并检查它们是否有效
python3 xsstrike.py -u "http://example.com/page.php?q=query" -f /path/to/file.txt
3.8 线程数
选项:-t
在爬行时可以向目标发出并发请求,并且-t
可以使用选项来指定要发出的并发请求的数量。虽然线程可以帮助加快爬行速度,但它们也可能会触发安全机制。大量线程也会导致小型网站瘫痪
python xsstrike.py -u "http://example.com" -t 10 --crawl -l 3
3.9 暂停
选项:--timeout(默认为 7)
可以指定在考虑 HTTP(S) 请求超时之前等待的秒数
python xsstrike.py -u "http://example.com/page.php?q=query" --timeout=4
3.10 延迟
选项:-d
可以指定每个 HTTP(S) 请求之间保持的秒数。有效值为 int,例如 1 表示秒
python xsstrike.py -u "http://example.com/page.php?q=query" -d 2
3.11 提供 HTTP 标头
选项:--headers
简单地从命令行添加标头,并用 \n 以下分隔符分隔
python xsstrike.py -u http://example.com/page.php?q=query --headers "Accept-Language: en-US\nCookie: null"
3.12 盲目跨站脚本攻击
选项:--blind
在爬行时使用此选项将使 XSStrike 注入您定义的盲 XSS 有效负载 core/config.py
,以将其注入到每个 HTML 表单的每个参数中
python xsstrike.py -u http://exampl
e.com/page.php?q=query --crawl --blind
3.13 有效负载编码
选项:-e
XSStrike 可以按需对有效负载进行编码。目前支持 base64 编码
python xsstrike.py -u "http://example.com/page.php?q=query" -e base64
3.14 模糊测试
选项:--fuzzer
模糊器旨在测试过滤器和 Web 应用程序防火墙。它非常慢,因为它随机发送*延迟请求,并且延迟可能长达 30 秒。要最小化延迟,请使用-d
选项将延迟设置为 1 秒
python xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer
3.15 代理
选项: --proxy(默认 0.0.0.0:8080)
您必须设置您的代理(y|ies)core/config.py
,然后您可以--proxy
随时使用开关来使用它们
python xsstrike.py -u "http://example.com/search.php?q=query" --proxy
3.16 跳过确认提示
选项:--skip
如果您希望 XSStrike 在找到工作负载时继续扫描而不询问您是否要继续扫描,那么您可以使用此选项。它还会跳过 POC 生成
python xsstrike.py -u "http://example.com/search.php?q=query" --skip
3.17 跳过 DOM 扫描
选项:--skip-dom
您可能希望在爬行时跳过 DOM XSS 扫描以节省时间
python xsstrike.py -u "http://example.com/search.php?q=query" --skip-dom
3.18 更新
选项:--update
如果启用此选项,XSStrike 将检查更新。如果有新版本可用,XSStrike 将下载更新并将更新合并到当前目录中,而不会覆盖其他文件
python xsstrike.py --update
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)