工具分享

xss漏洞探测工具-xssfork

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库轻量。

##新建扫描任务
需要向服务传递两个参数,1.key(主要用于验证身份);2.检测参数

get协议检测

###创建任务 1.get反射型类型

2.post反射类型

3.get反射型类型,需要验证cookie

4.post反射型类型,需要验证cookie

5.get储存型,需要验证cookie

4.post储存型,需要验证cookie

返回码

调用者可以获取到任务id,以便于启动检测。 #启动任务

返回码

#查看状态

返回码分为4种,分别如下:
1.任务不存在

2.任务创建了,但是未启动

3.任务正在作业中,未完成

4.任务作业完成

#获取结果

返回分为两种
1.检测到漏洞,并且返回payload

2.未检测到漏洞

#结束任务

返回结果可能有4种 1.结束任务失败,因为任务不存在

2.结束任务失败,因为任务根本没启动

3.结束任务失败,因为任务本已经结束,不需要强制杀死

4.结束任务成功,任务原本是处于运行中的状态

#完整的例子 1.一次带有cookie验证的post xss 漏洞示例代码

客户端代码

(1)

本文由 安全周 作者:SecJack 发表,转载请注明来源!

热评文章

发表评论