XSpear XSS扫描器
XSpear是一款基于RubyGems的的XSS漏洞扫描器。拥有常见的
主要特点
基于模式匹配的XSS扫描
检测alert confirm prompt无头浏览器上的事件(使用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 jsoncli:摘要,过滤规则(params),Raw Query
支持详细级别(退出/正常/原始数据)
支持自定义回调代码,以测试各种攻击向量
XSpear安装
安装
$ gem install XSpear
1
$geminstallXSpear
或者本地安装特定版本
$ gem install XSpear-{version}.gem
1
$geminstallXSpear-{version}.gem
将此行添加到应用程序的Gemfile:
gem 'XSpear'
1
gem'XSpear'
然后执行
$ bundle
1
$bundle
依赖 gems
colorize selenium-webdriver terminal-table
如果您将其配置为在Gem库中自动安装,出现依赖问题,请尝试:
$ gem install colorize
$ gem install selenium-webdriver
$ gem install terminal-table
1
2
3
$geminstallcolorize
$geminstallselenium-webdriver
$geminstallterminal-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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Usage:xspear-u[target]-[options][value]
[e.g]
$rubya.rb-u'https://www.hahwul.com/?q=123'--cookie='role=admin'
[Options]
-u,--url=target_URL[required]TargetUrl
-d,--data=POSTBody[optional]POSTMethodBodydata
--headers=HEADERS[optional]AddHTTPHeaders
--cookie=COOKIE[optional]AddCookie
--raw=FILENAME[optional]Loadrawfile(e.graw_sample.txt)
-p,--param=PARAM[optional]Testparamters
-b,--BLIND=URL[optional]AddvectorofBlindXSS
+withXSSHunter,ezXSS,HBXSS,etc...
+e.g:-bhttps://hahwul.xss.ht
-t,--threads=NUMBER[optional]thread,default:10
-o,--output=FILENAME[optional]SaveJSONResult
-v,--verbose=1~3[optional]Showlogdepth
+Defaultvalue:2
+v=1:quitemode
+v=2:showscanninglog
+v=3:showdetaillog(req/res)
-h,--helpPrintsthishelp
--versionShowXSpearversion
--updateUpdatewithonline
结果类型
(I)NFO:获取信息(例如sql错误,过滤规则,反射的参数等...)
(V)UNL:易受攻击的XSS,已检查警报/提示/确认与Selenium
(L)OW:低级问题
(M)EDIUM:中等水平问题
(H)IGH:高级别问题
个案分析
扫描XSS
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -d "searchFor=yy"
1
$xspear-u"http://testphp.vulnweb.com/search.php?test=query"-d"searchFor=yy"
json输出
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -d "searchFor=yy" -o json -v 1
1
$xspear-u"http://testphp.vulnweb.com/search.php?test=query"-d"searchFor=yy"-ojson-v1
详细日志
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -d "searchFor=yy" -v 3
1
$xspear-u"http://testphp.vulnweb.com/search.php?test=query"-d"searchFor=yy"-v3
设置线程
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -t 30
1
$xspear-u"http://testphp.vulnweb.com/search.php?test=query"-t30
在所选参数下进行测试
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=1fhhahwul" -p cat,test
1
$xspear-u"http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=1fhhahwul"-pcat,test
测试盲目xss
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -b "https://hahwul.xss.ht"
1
$xspear-u"http://testphp.vulnweb.com/search.php?test=query"-b"https://hahwul.xss.ht"
等等...
此外,你还可以自已添加模块,编写测试功能等等,更多见readme。