利用XSStrike Fuzzing XSS漏洞
Posted EMLab攻防实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用XSStrike Fuzzing XSS漏洞相关的知识,希望对你有一定的参考价值。
前言
关于XSStrike这款工具虽有前人写过相关资料,但是已经历经一年之久了,这款工具已经发生重大的改变(如从仅支持python2.7 改变为python 3.6),因此还是有必要再次写一下的。
简介
XSStrike是一款检测Cross Site Scripting的高级检测工具。它集成了payload生成器、爬虫和模糊引擎功能。XSStrike不是像其他工具那样注入有效负载并检查其工作,而是通过多个解析器分析响应,然后通过与模糊引擎集成的上下文分析来保证有效负载。除此之外,XSStrike还具有爬行,模糊测试,参数发现,WAF检测功能。它还会扫描DOM XSS漏洞。
特点
反射和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代码如下图:
保存并上传至笔者自己的服务器上。
下图是通过工具Fuzzing出来的一个payload:
我们利用工具Fuzzing出来的payload进行一下测试,测试结果如下图所示:
以上是关于利用XSStrike Fuzzing XSS漏洞的主要内容,如果未能解决你的问题,请参考以下文章