XSScrapy是一个快速、直接的XSS漏洞检测爬虫,你只需要一个URL,它便可以帮助你发现XSS跨站脚本漏洞。
XSScrapy的XSS漏洞攻击测试向量将会覆盖
Http头中的Referer字段 User-Agent字段 Cookie 表单(包括隐藏表单) URL参数 RUL末尾,如 www.example.com/<script>alert(1)</script> 跳转型XSS
因为Scrapy并不是一个浏览器,所以对AJAX无能为力,我将会在未来努力实现这些功能,尽管并不容易:)
使用方法
1、安装
sudo apt-get install python-pip 安装pip git clone https://github.com/DanMcInerney/xsscrapy 下载 cd xsscrapy pip install -r requirements.txt
2、基本检测命令
./xsscrapy.py -u http://example.com
3、如果需要登录,后面加上账户、密码参数即可
./xsscrapy.py -u http://example.com/login_page -l loginname -p pa$$word
4、基础认证登录,–basic
./xsscrapy.py -u http://example.com/login_page -l loginname -p pa$$word --basic
ps:测试网站xss完成后,结果会保存在程序目录下的xsscrapy-vulns.txt文件中。
测试:
本机搭建了一个测试页面:
<h1><?php print $_GET['a'];?></h1>
这是一个明显存在xss漏洞的页面,用xsscrapy测试结果如下:
可以看到xsscrapy利用的是scrapy爬虫引擎来爬取网站页面并进行跨站检测。从结果文件中可以看到,xsscrapy在测试页面参数是否有跨站漏洞时,首先测试:'”(){}<x>:; 等字符是否经过过滤,然后根据过滤情况来构造相应的payload。
参考资料:
1、http://www.freebuf.com/tools/43194.html
2、http://blog.gslin.org/archives/2014/11/07/5253/xsscrapy%EF%BC%9A%E8%87%AA%E5%8B%95%E5%8C%96-xss-%E6%94%BB%E6%93%8A/