欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

xssfork:一款XSS探测工具

来源:本站整理 作者:佚名 时间:2017-07-27 TAG: 我要投稿

xssfork简介
xssfork作为sicklescan的一个功能模块,其开发主要目的是用于检测xss漏洞。
传统的xss探测工具,一般都是采用 payload in response的方式,即在发送一次带有payload的http请求后,通过检测响应包中payload的完整性来判断,这种方式缺陷,很多。
第一:不能准确地检测dom类xss
第二:用类似于requests之类的库不能真正的模拟浏览器
第三:网页js无法交互
怎么解决?如果能够用浏览器代替这个模块,去自动hook是最好的。所幸,我了解到phantomjs,当然现在google浏览器也支持headless模式,类似的,你也可以采用google浏览器去做检测。
原理
对于这类fuzz过程,基本都是预先准备好一些payload,然后加载执行。对于这类io型密集的扫描模型,后端使用多线程就比较适用,但是由于phantomjs你可以理解为一个无界面的浏览器,在加载的时候,其缺陷也比较明显,比较吃内存,用它来发包自然不像requests库轻量。
编码脚本
由于基础的payload模块,我收集了71个。

基础pyaload会在现有的基础上,会添加上各种闭合的情况。

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

现阶段提供了10进制,16进制,随机大小写,关键字叠加四个脚本。
10hex_encode
将 html 标签内部字符10进制化

aaa

其效果如下

16hex_encode
将 html 标签内部字符16进制化
uppercase
随机大小写将 alert(65534); 转换成 alert(65534);
addkeywords
主要是应对过滤为 replace('keyword>s','') 的情况,alert(65534); 变成 script>alert(65534);当然默认开启的是轻量模式,即只返回一个payload,开启重量模式,可以生成更加丰富的pyaload,效果如下
alert(65534); 
alert(65534); 
alert(65534); 
alert(65534); 
alert(65534);
演示
场景1.反射型xss

场景2.大小写绕过


场景3.dom型xss


场景4.post类型

场景5.需要验证cookie


[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载