[投稿]reflected_xss检测工具的介绍

1.反射型xss的介绍
xss代码出现在URL中,浏览器访问这个url后,服务端响应的内容中包含有这段xss代码,这样的xss被称作反射型xss.

2.工具的介绍

reflected_xss工具目前可以用来检测网站中是否可能存在反射型xss,程序是用python写的.

我用的python版本是2.7.3,系统上需要有python的requests模块.

工具有四个文件

spider.py用来爬取网页中的符合规则的url,可以指定爬取深度,然后生成一个urllist文件

reflect_xss.py检测urllist文件中的每一个url是否可能存在反射型xss漏洞

filter.py中的函数会被spider.py调用,过滤掉一些不带参数的url和重复的url.
config文件中,目前只有两个选项:timeout和sleep.
timeout是请求最多等待响应的时间.发送响应时,超过timout秒后就当作请求超时了.
sleep是每次请求url的间隔时间,因为有的网站会限制ip访问速度.

3.工具工作的流程
spider.py接受一个url参数,根据这个url发送请求,接收到响应后,把响应中符合规则的url提取出来,保存到urllist文件中.如果有指定爬取深度的话,会递归的爬取规则的url.这个规则是用正则写的,目前的规则是爬取到的url都应该是一个网站下的,并且url必须是带参数了的.
比如,spider.py “http://127.0.0.1/test.php?x=1” 能够保存的url都是以http://127.0.0.1开头的,并且url中有一个?号.
reflect_xss.py会检查urllist文件中的每一个url是否存在反射型xss.检测流程是:分析每一个url的参数,将”参数”挨个替换成”参数+xss payload”,然后发送出去,分析响应的内容中是否有xss payload字符串.其中的xss payload可以自定义,keywords文件中的每一行都会被当作一个xss payload.可以向keywords文件添加或删除xss payload.

4.工具用法演示

先来大致看下当前目录下的文件吧

再来看看我用来在本机测试的两个文件吧.

只有http://127.0.0.1/rxss.php?a=1&x=2这个url是符合规则的,所以一会儿爬虫爬完了,urllist中应该只有这一条url.

spider.py就是我们的小爬虫.

直接运行spider.py可以看到用法.

爬虫爬完了,生成了一个urllist文件,文件中只有一条url,一会儿就来检测这条url是否可能存在反射型xss缺陷

这个url参数最好还是要带上双引号,就跟用sqlmap的时候一样.

reflect_xss.py就是用来检测的.

直接python reflect_xss.py 运行程序就可以检测了.

如果有发现可能存在反射型xss,会在当前目录下生成一个Found文件,文件记录了有缺陷的url.

检测的时候,如果发生了异常,会被记录到当前目录下的error.log日志文件.这里没什么异常,所以没有记录.这个日志文件记录的比较简洁明了,我就不多做介绍了.

我的邮箱是:happy7513159@qq.com 欢迎交流

下载地址:http://vdisk.weibo.com/lc/3GawHF1w1aTxKu2BJjr 密码:CMB6

核心代码:
spider.py:

reflect_xss.py

赏金发放情况:本文获得赏金150RMB,已于4.11日发放到作者账号。

征稿启事:91RI一直相信“你不与人分享,谁与你分享”,分享的确是件非常有意义的事情。为了让优秀的同学有 地方分享自己的独到见解,也为了让更多同学从分享中受益,同时我们也希望给那些愿意分享的小伙伴们一点点心意作为感谢,所以我们隆重了推出“有奖征文”活 动!本次活动的详情可以围观《征稿启事