云服务器

XSS自动扫描测试工具-XSSFORK

2020-06-01 14:24:47 138

什么是XSS漏洞呢 ?

XSS(Cross-site scripting)译为跨站脚本攻击,在日常的web渗透测试当中,是最常见的攻击方法之一,并占有很高的地位。它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,是web安全的头号大敌。

 

传统的 xss 探测工具:

一般都是采用 payload in response 的方式,即在发送一次带有 payload 的 http 请求后,通过检测响应包中 payload 的完整性来判断,这种方式缺陷很多。

 

前言

xssfork是一款xss漏洞探测工具,其开发的目的是帮助安全从业者高效率的检测xss安全漏洞。与传统检测工具相比xssfork使用的是 webkit内核的浏览器phantomjs,其可以很好的模拟浏览器。工具分为两个部分,xssfork和xssforkapi,其中xssfork在对网站fuzz xss的时候会调用比较多的payload。话不多说,一起来研究下这款工具吧 ?

github地址:https://github.com/bsmali4/xssfork

 

安装教程

git clone https://github.com/bsmali4/xssfork

python2 -m pip install -rrequestments.txt

python2 xssfork.py -h


出现以下显示,代表安装成功

 

内置Payload

工具的开发者收集了目前流行的xss payload,目前内置存在的payload数量为71个,payload文件存在于xssfork\thirdparty\fuzz_dic\payloads.dic文件里面

并且会添加上各种闭合的情况

 

内置编码方式

除了这些基础的 payload,xssfork 还提供了几个编码脚本,查看脚本,可以看 help

现阶段提供了10进制,16进制,随机大小写,关键字叠加四个脚本

[0]10hex_encode 10进制

[1]16hex_encode 16进制

[2]addkeywords 关键字叠加

[3]uppercase 随机大小写


 
查看命令为:python xssfork.py –list

使用编码命令为:-t 脚本名称即可

 

例子
python xssfork.py –t 10hex_encode
将 html 标签内部字符10进制化

<a href=&#x6a&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3a&#x61&#x6c&#x65&#x72&#x74&#x28&#x36&#x35&#x35&#x33&#x34&#x29&#x3b>aaa</a>

其效果如下

python xssfork.py –t 16hex_encode
将 html 标签内部字符16进制化

 

uppercase
随机大小写将

<script>alert(65534);</script>

转换成

<ScRIPt>alert(65534);</ScRIpT>

 

addkeywords
主要是应对过滤为

replace('keyword>s','')

的情况,

<script>alert(65534);</script>

变成

<<script>script>alert(65534);</script>

当然默认开启的是轻量模式,即只返回一个payload,开启重量模式,可以生成更加丰富的pyaload,效果如下

<script>alert(65534);</script>
<script>alert(65534);</ScrIpt>
<ScrIpt>alert(65534);</sCrIpt>
<scRiPt>alert(65534);</script>
<ScrIpt>alert(65534);</script>

睿江云官网链接:www.eflycloud.com

上一篇: 无

微信关注

获取更多技术咨询