利用XSStrike Fuzzing XSS漏洞

2018-12-24 +10 141668人围观 ,发现 6 个不明物体 WEB安全

前言

关于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.COM

这些评论亮了

发表评论

已有 6 条评论

取消
Loading...
css.php