安全扫描器(现已集成 AI 🤖),用于发现 Web 应用程序中潜在的服务器端请求伪造(SSRF)参数。See-SURF 不仅帮助您检测潜在的 SSRF 参数,还帮助您验证这些参数,保护您的应用程序免受系统和用户数据泄露。

如果您在研究论文、文章等中使用本软件,请引用。
@software{Agrawal_See-SURF_Detect_SSRF_2019,
author = {Agrawal, Vaibhav},
month = jul,
title = {{See-SURF: Detect SSRF security vulnerability}},
url = {https://github.com/In3tinct/See-SURF},
version = {2.0.0},
year = {2019}
}
自动化侦察:多线程爬虫,收集并解析数据,通过强大的正则匹配(例如匹配 url、website 或 IP 地址等关键词)识别潜在的 SSRF 参数。支持基于 Cookie 的身份验证,可扫描登录页面后的端点。
Burp Suite 集成:无缝解析 Burp Suite 站点地图(.xml),在爬取前发现更广泛的参数。
验证与利用:新增 AI 集成功能,通过 Google Gemini 和 OpenAI 等提供商实现 AI 驱动的检测——分析响应头并生成自定义载荷;智能枢轴机制可定位 AWS 元数据等内部服务;自动验证漏洞以确认敏感数据泄露(适用于反射型/非盲 SSRF)。
针对盲 SSRF 检测:集成带外(OOB)检测,默认使用 Webhook.site 或用户提供的域名,识别服务器不直接返回响应的漏洞。

git clone https://github.com/In3tinct/See-SURF.git
cd See-SURF/
pip3 install -r requirements.txt
python3 see-surf.py -H https://www.target.com
# 使用 Google Gemini
python3 see-surf.py -H http://vulnerable-site.com -p google -m gemini-1.5-flash --api-key YOUR_KEY
# 使用 OpenAI GPT-4
python3 see-surf.py -H http://vulnerable-site.com -p openai -m gpt-4 -a YOUR_KEY
# 使用本地 Ollama
python3 see-surf.py -H http://vulnerable-site.com -p ollama -m llama3
python3 see-surf.py -H https://www.target.com -c "cookie_name1=value1 cookie_name2=value2"
python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2 -b burp_file.xml
-H 要扫描的主机名/IP 地址
-c 用于认证扫描的 Cookie,以空格分隔(某些网站使用多个 Cookie 进行会话跟踪)
-p AI 提供商:ollama(本地推理)、gemini、OpenAI chatgpt、Anthropic claude
-m 具体模型名称(例如 gemini-1.5-flash、gpt-4o、llama3)
-a 所选提供商的 API 密钥(也可以设置为环境变量 API_KEY)
-e 用于测试盲 SSRF OOBE 请求,使用自定义外部域名(格式如 http://google.com),否则默认使用 webhook.site
-b(可选但推荐)使用 Burp Suite 站点地图爬取请求,导出站点地图文件并输入给 see-surf(查看详细功能了解操作方法)
-v(可选)默认开启普通模式,启用详细模式可查看同一易受攻击参数在不同端点的表现。同一参数可能并非在所有位置都经过清理。但详细模式会产生大量噪声
[-] -b 开关 Burp 的站点地图显示了 Burp 在您探索目标应用程序时收集的信息,例如收集到的 URL 等。提供 Burp 站点地图文件以更好地发现潜在的 SSRF 参数。脚本会先解析 Burp 文件,尝试识别潜在参数,然后在其上运行内置爬虫。
在后台运行 Burp Suite 的同时浏览目标,发起一些 GET/POST 请求,越多越好。然后转到目标,右键点击 -> "Save selected Items" 并保存。以如下方式提供给脚本。

发现:脚本爬取目标中的 <a> 链接和 <form> 输入,或解析 Burp 站点地图文件。
参数匹配:查找参数名称中的关键词(例如 url、redirect、dest)或值中的 URL 模式。
金丝雀探测(非盲):首先尝试请求 http://example.com。如果在响应中找到 "Example Domain" 签名,则标记为潜在的反射型/非盲 SSRF。
AI 指纹识别与利用(非盲):如果启用 AI,则分析服务器头部及技术栈,生成特定的内部载荷(AWS 等)。
验证(非盲):AI 审查攻击响应的结果,确认返回的数据是否确实是敏感或内部信息,减少误报。
OOBE 探测(盲):对每个潜在参数生成唯一的 Webhook.site 载荷,然后轮询 Webhook API 以确认目标服务器是否发起了外部请求。
在使用 See-SURF 扫描目标之前,请确保已获得双方互相同意。最终用户负有全部责任,开发者不承担任何责任,也不对因使用本程序造成的任何误用或损害负责。请仅将此工具用于教育目的或您明确获得测试许可的域名。使用风险自负。
GNUV3 © [In3tinct]