前言

关于XSStrike这款工具虽有前人写过相关资料,但是已经历经一年之久了,这款工具已经发生重大的改变(如从仅支持python2.7 改变为python 3.6),因此还是有必要再次写一下的。

1.png

简介

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

项目地址:https://github.com/s0md3v/XSStrike

特点

反射和DOM XSS扫描

多线程抓取

背景分析

可配置的核心

WAF检测和规避

浏览器引擎集成为零误报率

智能负载发生器

手工制作的HTML和JavaScript解析器

强大的模糊引擎

支持Blind XSS

完善的工作流程

完整的HTTP支持

来自文件的Bruteforce有效负载

有效载荷编码

python编写

安装

由于XSStrike只可以运行在python 3.6 以上版本,因此笔者使用parrot来安装运行这款工具(笔者的旧版Kali 自带的python 3 版本是3.5的)。

1、给python3安装pip,使用命令如下:

sudo apt-get install python3-pip 

2、下载XSStrike,命令如下:

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

3、安装依赖模块,命令如下:

pip3 install -r requirements.txt 

4、运行工具,命令如下:

python3 xsstrike.py -u "http://target" 

用法

 -h, --help //显示帮助信息 -u, --url //指定目标URL --data //POST方式提交内容 -v, --verbose //详细输出 -f, --file //加载自定义paload字典 -t, --threads //定义线程数 -l, --level //爬行深度 -t, --encode //定义payload编码方式 --json //将POST数据视为JSON --path //测试URL路径组件 --seeds //从文件中测试、抓取URL --fuzzer //测试过滤器和Web应用程序防火墙。 --update //更新 --timeout //设置超时时间 --params //指定参数 --crawl //爬行 --proxy //使用代理 --blind //盲测试 --skip //跳过确认提示 --skip-dom //跳过DOM扫描 --headers //提供HTTP标头 -d, --delay //设置延迟 

实例

为了测试该工具的实用性,笔者写了一个简单的存在XSS漏洞的PHP文件。笔者为它命名为xss.php文件。

xss.php代码如下图:

2.png

保存并上传至笔者自己的服务器上。 
3.png

下图是通过工具Fuzzing出来的一个payload:

4.png

我们利用工具Fuzzing出来的payload进行一下测试,测试结果如下图所示:

5.png

*本文作者:看不尽的尘埃,转自FreeBuf