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

  

 成功弹框

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值