📖 前情提要:
日常渗透过程中我们经常会遇到 spring boot 框架,通过资产测绘平台搜索我们也可以知道 spring 框架的资产非常多,最常见的需求就是我想测试是否存在敏感信息泄漏以及是否存在 spring 的相关漏洞,不想东拼西凑找工具,不如写一个吧!
✈️ 工具概述
- 最全的敏感路径字典:用于检测站点是否存在 Spring Boot 的敏感信息泄漏,最全的敏感路径字典
- 支持指纹检测:检测是否为 spring 站点:加入指纹识别,启用—ff 参数之后,非 spring 站点进行下一步扫描,节约资源与时间
- 敏感路径页面指纹检测:最大程度解决误报情况,达到同类型工具检出准确率最高,不用再人工确认是否为敏感页面
- 最全的 spring 漏洞检测 POC:与其东拼西凑,不如 spring 相关 cve 的 poc 全部给你集成到这款工具里,同类型最全
- 无回显漏洞解决: 无回显漏洞检测说存在,到底靠不靠谱?支持—dnslog 参数指定,看完 dnslog 来数据了,心里踏实了
-
其他一些常规支持:
- 单个 url 扫描/ url 文件扫描
- 支持指定代理
- 支持多线程
🏂 Run
# 安装使用, 更新版本之后建议重装依赖,新版本可能会增加三方库的依赖;
$ git clone https://github.com/sule01u/SBSCAN.git
$ cd SBSCAN
$ pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 以免跟其他包版本冲突,建议创建虚拟环境后安装项目依赖;-i 指定使用国内清华源安装依赖;
$ python3 sbscan.py --help
检测效果图, 使用彩色表格打印更直观显示检测结果
检测前可使用 tail -f logs/sbscan.log 实时查看详细的检测情况
🎡 Options
-u, --url 对单个 URL 进行扫描
-f, --file 读取文件中的 url 目标进行扫描
-p, --proxy 指定 HTTP 代理
-t, --threads 指定线程数量
-q, --quiet 启用纯净输出,只输出命中的敏感路径信息
-ff, --fingerprint_filter 启用指纹检测,只扫描命中指纹的站点(可能有漏报,结合实际情况选择是否启用)
-d, --dnslog 指定 DNSLog 域名,用于检测到无回显漏洞时可接收被攻击主机的 dns 请求
--help 显示帮助信息
🎨 Examples
# 指定目标站点 url 进行扫描
$ python3 sbscan.py -u http://test.com
# 指定 url 文件路径扫描,启用指纹检测,未检测到指纹的无需进行路径以及 CVE 扫描
$ python3 sbscan.py -f url.txt --ff
# 指定目标站点 url 、代理、线程数量
$ python3 sbscan.py -u http://test.com -p 1.1.1.1:8888 -t 10
# 指定目标站点 url 、启用纯净输出,只输出命中敏感路径或 cve 的目标、启用指纹检测,只有命中指纹的才继续扫描
$ python3 sbscan.py -u http://test.com --quiet -ff
# 指定 url 文件路径、指定 dnslog 域名、使用 10 个线程进行并发扫描并启用纯净输出
$ python3 sbscan.py -f url.txt -t 4 -d 5pugcrp1.eyes.sh --quiet
项目作者:sule01u
项目地址: https://github.com/sule01u/SBSCAN