XSpear:一款强大的XSS漏洞扫描器工具

XSpear XSS扫描器

XSpear是一款基于RubyGems的的XSS漏洞扫描器。拥有常见的XSS漏洞扫描攻击测试功能。还可进行参数分析。

XSpear:一款强大的XSS漏洞扫描器工具
XSS漏洞扫描器

主要特点

  • 基于模式匹配的XSS扫描
  • 检测alert confirm prompt无头浏览器上的事件(使用Selenium)
  • 测试XSS保护旁路和反射参数的请求/响应
    • 反射的参数
    • 过滤测试 event handler HTML tag Special Char
  • 测试盲XSS(使用XSS Hunter,ezXSS,HBXSS,等等所有网址盲测...)
  • 动态/静态分析
    • 查找SQL错误模式
    • 分析Security头(CSP HSTS X-frame-optionsXSS-protection等..)
    • 分析其他标题..(服务器版本,内容类型等...)
  • 从Raw文件扫描(Burp suite,ZAP Request)
  • 在ruby代码上运行的XSpear(使用Gem库)
  • 显示table base cli-reportfiltered ruletesting raw query(网址)
  • 在所选参数下进行测试
  • 支持输出格式 cli json
    • cli:摘要,过滤规则(params),Raw Query
  • 支持详细级别(退出/正常/原始数据)
  • 支持自定义回调代码,以测试各种攻击向量

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
--versionShow XSpear version
--update Update with online

结果类型

  • (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"

json输出

$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -d "searchFor=yy" -o json -v 1

详细日志

$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -d "searchFor=yy" -v 3

设置线程

$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -t 30

在所选参数下进行测试

$ xspear -u "http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=1fhhahwul" -p cat,test

测试盲目xss

$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -b "https://hahwul.xss.ht"

等等...

此外,你还可以自已添加模块,编写测试功能等等,更多见readme