这都什么时候了,还要人工测试 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”