XSStrike工具的安装及使用(包括实战应用)

01 简介

XSStrike是一款检测Cross Site Scripting的高级检测工具。它集成了payload生成器、爬虫和模糊引擎功能。XSStrike不是像其他工具那样注入有效负载并检查其工作,而是通过多个解析器分析响应,然后通过与模糊引擎集成的上下文分析来保证有效负载。除此之外,XSStrike还具有爬行,模糊测试,参数发现,WAF检测功能。它还会扫描DOM XSS漏洞。

02 特点

对参数进行模糊测试之后构建合适的payload

使用payload对参数进行穷举匹配

内置爬虫功能

检测并尝试绕过WAF

同时支持GET及POST方式

大多数payload都是由作者精心构造

误报率极低

03 安装

XSStrike只可以运行在python 3.6 及以上版本。(我的是在kali是跑的,直接下载脚本使用就行)

下载XSStrike

git clone https://github.com/s0md3v/XSStrike.git

更新依赖模块,命令如下(首先进入xsstrike目录)

pip3 install -r requirements.txt
 04 使用方法

测试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'

该工具用于检测 Web 应用程序中的 XSS 漏洞,支持多种扫描选项和自定义设置。以下是它提供的一些常见选项和参数:

  • -u/--url:指定要测试的目标 URL。
  • --data:用于 POST 请求,指定提交的数据。
  • -e/--encode:编码荷载以绕过 WAF 或其他过滤器。
  • --fuzzer:启用模糊测试模式以在请求中注入随机负载。
  • --update:更新 XSStrike 到最新版本。
  • --timeout:设置每次 HTTP 请求的超时时间。
  • --proxy:使用代理服务器发送请求。
  • --crawl:启用爬虫模式,自动发现与目标相关的页面。
  • --json:将 POST 数据视为 JSON 格式。
  • --path:在路径中注入负载。
  • --seeds:从文件中加载作为种子的网址列表来加速爬取。
  • -f/--file:从文件中加载测试负载列表。
  • -l/--level:设置爬取级别,0-5。
  • --headers:添加请求头。
  • -t/--threads:设置并发线程数。
  • -d/--delay:设置两个请求之间的延迟时间。
  • --skip:跳过询问用户是否要继续扫描。
  • --skip-dom:跳过 DOM 检查。
  • --blind:在爬取过程中注入盲 XSS 负载。
  • --console-log-level/--file-log-level/--log-file:设置日志输出级别和文件名。

get请求练习测试

 python3 xsstrike.py -u "http://192.168.*.*/pikachu/vul/xss/xss_reflected_get.php?message=1&submit=submit"

 

 post请求练习测试

python3 xsstrike.py -u "http://192.168.*.*/pikachu/vul/xss/xsspost/xss_reflected_post.php" --data "message=1&submit=submit" --headers "Cookie: ant[uname]=admin; ant[pw]=10470c3b4b1fed12c3baac014be15fac67c6e815; PHPSESSID=g3hjk0p8jis2uk16911edvain6"

 实战测试

发现一个登录页面 用户名输入什么都显示正确,怀疑此处有注入点。

 放到xsstrike跑

因为是post请求所以用测试post请求的命令

 成功拿下,使用任意payload,开始验证

 

 这时候还要普及一个xss漏洞,因为这个网站刚好有!

FCKeditor 2.6.7 及之前版本的 editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php 的 print_textinputs_var 函数中存在跨站脚本 (XSS) 漏洞,远程攻击者可利用该漏洞通过 textinputs 数组参数注入任意 Web 脚本或 HTML

那么我们直接访问

http://xxxxx/controller/common/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php

spellchecker.php文件一般位于FCKeditor的安装目录下,具体位置可能因不同的安装方式和版本而有所不同。在一些基于PHP语言的CMS系统中,spellchecker.php文件也可能会被集成到特定的插件或模块中。

(一访问就弹框) 

在本例中,spellchecker.php文件位于以下目录路径:

http://xss/controller/common/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php

其中,“/controller/common/FCKeditor”为FCKeditor的默认安装目录

接下来我们xsstrike去跑

参数为textinputs[]

成功拿下

由于是post参数,我们bp抓包手动添加 textinputs[]参数

先获取ASP.NET 应用程序中的会话 ID

才能传入参数值

并且修改数据包Content-Type: application/x-www-form-urlencoded

  

 成功弹框

### XSStrike 功能介绍 XSStrike 是一款专为检测跨站脚本(Cross-Site Scripting, XSS)漏洞设计的高级工具[^1]。该工具具备多种特性,使其成为现代Web应用程序安全性评估中的重要组成部分。 #### 高级解析能力 集成有四种自定义编写的解析器,这有助于更精准地处理各种类型的HTML文档结构,从而提高对潜在XSS漏洞识别的能力。 #### 智能化有效负载生成器 区别于传统依赖大量预设模式的方法,XSStrike采用了一种更为聪明的方式——即通过理解目标环境来自动生成可能触发漏洞的有效载荷[^2]。这种方式减少了不必要的尝试次数,提高了效率的同时也增加了发现隐藏更深的安全问题的可能性。 #### 强大Fuzzing引擎支持 内置高效的模糊测试机制可以自动探索未知领域内的输入空间,帮助用户快速定位到那些不容易被注意到但却存在风险的地方。 #### 内置高效网站爬虫 为了扩大扫描范围并覆盖尽可能多的目标页面,XSStrike还配备有一个性能优越的网络蜘蛛程序,它可以按照设定规则遍历整个站点内部链接,确保无遗漏任何可疑之处。 #### WAF检测与绕过功能 考虑到许多在线服务都会部署Web应用防火墙(Web Application Firewall),因此XSStrike特别加入了针对这类防护措施的探测及规避策略,以便能够在复杂环境下持续有效地执行任务。 ### 使用指南概览 对于希望深入了解如何运用这一强大工具体现价值的人来说,《Python安全攻防:渗透测试实战指南》提供了详细的配套技术讲解,涵盖了从安装配置直到实际案例演练在内的全过程指导[^5]。此外,在合法合规的前提下充分利用官方文档和其他社区资源也是掌握XSStrike最佳实践的关键所在[^3]。 ```bash pip install xsstrike xsstrike --help ``` 以上命令可用于安装和查看基本的帮助信息。更多具体的参数设置与应用场景建议参阅相关资料获取最全面的理解和支持。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值