这都什么时候了,还要人工测试 XSS?仍在将< script> alert (/xss/)提交到不同输入框中?有这闲工夫,还不如喝茶、划水?试试这把“X矛”,你一定会大吃一惊。
工具介绍
XSpear是一款基于 RubyGems的 XSS漏洞扫描器,它具有 XSS一般的漏洞扫描能力和参数分析能力。
主要特点
- 基于模式匹配的 XSS扫描系统具有良好的处理能力、扩展性和冗余性。
- 在无头浏览器中检测事件(使用 Selenium),可以发现包括协议攻击和应用层攻击在内的各种攻击行为。
- 测试 XSS保护旁路和反射参数,包括正常数据和其它四种攻击数据类型。
- 反射参数
- 过滤测试 event handler HTML tag Special Char
- 测试盲测 XSS (使用 XSS hunter, ezXSS, HBXSS等等)
- 动态/静态分析
- 查找 SQL 错误模式
- 分析 Security 头(CSP HSTS X-frame-options,XSS-protection 等..)
- 分析其他标题..(服务器版本,内容类型等…)
- 从 Raw 文件扫描(Burp suite,ZAP Request)
- 在 ruby 代码上运行的 XSpear(使用 Gem 库)
- 显示 table base cli-report 和 filtered rule, testing raw query(网址)
- 在所选参数下进行测试
- 支持输出格式 cli json
- cli:摘要,过滤规则(params),Raw Query:目标地址,目标端口。
- 支持详细级别(退出/正常/原始数据),矩阵码检测/解码,直线检测等功能。
- 支持自定义回调代码,以测试各种攻击向量。支持实时分析、离散分析、 OLAP分析、统计分析等应用。
XSpear 安装
安装
$ gem install XSpear
或者本地安装特定版本
$ gem install XSpear-{version}.gem
将此行添加到应用程序的Gemfile:
gem 'XSpear'
然后执行
$ bundle
依赖 gems
Colorize selenium-webdriver terminal-table
如果您将其配置为在 Gem 库中自动安装,出现依赖问题,请尝试:
$ gem install colorize
$ gem install selenium-webdriver
$ gem install terminal-table
XSpear cli 使用
Usage: xspear -u [target] -[options] [value]
[ e.g ]
$ ruby a.rb -u 'https://www.hahwul.com/?q=123' --cookie='role=admin'
[ Options ]
-u, --url=target_URL [required] Target Url
-d, --data=POST Body [optional] POST Method Body data
--headers=HEADERS [optional] Add HTTP Headers
--cookie=COOKIE [optional] Add Cookie
--raw=FILENAME [optional] Load raw file(e.g raw_sample.txt)
-p, --param=PARAM [optional] Test paramters
-b, --BLIND=URL [optional] Add vector of Blind XSS
+ with XSS Hunter, ezXSS, HBXSS, etc...
+ e.g : -b https://hahwul.xss.ht
-t, --threads=NUMBER [optional] thread , default: 10
-o, --output=FILENAME [optional] Save JSON Result
-v, --verbose=1~3 [optional] Show log depth
+ Default value: 2
+ v=1 : quite mode
+ v=2 : show scanning log
+ v=3 : show detail log(req/res)
-h, --help Prints this help
--version Show XSpear version
--update Update with online
结果类型
(I)NFO:获取信息(例如 SQL 错误,过滤规则,反射的参数等…)
(V)UNL:易受攻击的 XSS,已检查警报/提示/确认与 Selenium
(L)OW:低级问题
(M)EDIUM:中等水平问题
(H)IGH:高级别问题
个案分析
扫描 XSS
1 | $xspear-u”http://testphp.vulnweb.com/search.php?Test=query”-d”searchFor=yy” |
json 输出
1 | $xspear-u”http://testphp.vulnweb.com/search.php?Test=query”-d”searchFor=yy”-ojson-v1 |
详细日志
1 | $xspear-u”http://testphp.vulnweb.com/search.php?Test=query”-d”searchFor=yy”-v3 |
设置线程
1 | $xspear-u”http://testphp.vulnweb.com/search.php?test=query”-t30 |
在所选参数下进行测试
1 | $xspear-u”http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=1fhhahwul”-pcat,test |
测试盲目 xss
1 | $xspear-u”http://testphp.vulnweb.com/search.php?Test=query”-b”https://hahwul.xss.ht” |
📮评论