该框架主要针对SSRF漏洞的利用,主要借助DeepSeek开发,涵盖了使用Dict协议扫描内网存活主机开放端口的功能,以及对内网HTTP/HTTPS服务进行目录爆破的功能。目前该框架还只是一个框架,用户在使用时需要注意根据场景修改检测到服务或目录时返回的特征。后续会根据工作或学习中遇到的场景扩展更多功能,并结合ChatGPT进行进一步完善。同时它可能存在很多不足,因为我本身不是开发人员,因此请各位多多见谅,我也不接受任何批评,因此它本身就是开源的,当你在使用开源软件的时候,想想自己为别人带来了什么。Englis README.md
🚀 使用方法
基本命令格式
python main.py -u <SSRF接口URL> --scan-type <dir|port> [参数...]
模式一:目录扫描(dir)
通过 SSRF 漏洞访问内网 HTTP 服务并递归枚举路径。
必填参数:
• -u:SSRF URL,例如:http://vuln.site/ssrf?url=
• --scan-type dir:指定为目录扫描模式
• -t:目标内网地址,例如:http://127.0.0.1
• -w:路径字典文件,例如:./wordlist.txt
可选参数:
• -e:文件扩展名(如 php asp jsp 等)
• -d:最大递归深度(默认 3)
• --threads:并发线程数(默认 10)
• --delay:每次请求延迟(默认 0.5 秒)
• -c:请求时附加的 Cookie(如需认证)
• -v:显示详细日志
示例:
python main.py -u http://vuln.site/ssrf -t http://127.0.0.1 -w ./wordlist.txt --scan-type dir -e php asp -d 2 -v
模式二:端口扫描(port)
通过 SSRF 检测目标子网中哪些主机在监听指定端口。
必填参数:
• --scan-type port:指定为端口扫描
• -s:目标子网,例如:172.16.1.0(自动补全为 /24)
可选参数:
• -p:端口范围,格式如 80,443,3306 或 20-25,80
• -m:扫描模式(1 = 并发,2 = 隐蔽)
• -c:Cookie
• -v:显示详细信息
示例(并发扫描):
python main.py -u http://vuln.site/ssrf --scan-type port -s 192.168.0 -p 80,443,8080 -m 1 -v
示例(隐蔽扫描):
python main.py -u http://vuln.site/ssrf --scan-type port -s 10.0.0 -p 22-25 -m 2 --delay 2 -v
🔧 需要根据实际场景修改的部分
1. 端口响应识别逻辑(dict_scan.py):
• BeautifulSoup 解析 <pre> 标签用于判断端口是否开放,可按需修改为状态码、关键字等其他方式。
2. 目录文件识别逻辑(dirbuster.py):
• SSRFResponseValidator 中定义了常见的错误提示关键词(如 404、Forbidden),可根据业务系统实际响应特征调整。
3. SSRF参数格式:
• 默认使用 POST 方法,参数为 url=http://...,如目标系统使用不同参数名或方法,需调整 requests.post(...) 的方式。
4. 是否需要身份认证:
• 若 SSRF 入口需登录态,可通过 --cookie 参数附加认证信息。
📂 目录结构说明
.
├── main.py # 主程序入口
├── utils/
│ ├── dict_scan.py # 端口扫描模块
│ └── dirbuster.py # SSRF 目录扫描模块
└── wordlist.txt # 示例路径字典文件(自行准备)
本工具仅限授权安全测试使用,任何非法使用后果自负。建议在测试环境中使用进行学习或验证 SSRF 漏洞可达性。
👨🔬 作者信息
本工具由 苏州工学院(原常熟理工学院) 下一代互联网技术实验室 开发维护。