关于 ssrf-hunting
ssrf-hunting 是用于系统化排查服务器端请求伪造风险的安全技能,面向审计和安全测试场景。它列出 URL 获取入口、绕过测试矩阵、盲 SSRF 验证方法及修复建议。
主要功能
- 01定位服务器端 URL 获取点
- 02测试环回地址与内部主机
- 03检查过滤器绕过与重定向
- 04验证云元数据与盲 SSRF
- 05整理风险处置与修复建议
适用场景
- 01审计 Webhook 和导入器的 URL 请求
- 02测试预览服务及代理端点
- 03评估 SSRF 防护与云元数据暴露
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ securityskills/ skills --skill ssrf-hunting安装后在 Claude Code 中输入/ssrf-hunting确认已加载。
详细介绍
SSRF 排查
找出服务器获取你可控 URL 的所有位置,然后系统地进行测试。
排查位置
- Webhook 和回调 URL(支付、集成、警报)
- 导入工具:按 URL 获取头像、从 URL 导入、RSS 订阅源阅读器
- 预览生成器:链接预览、PDF/图像渲染器、截图服务
- 会解析外部实体或引用的文件解析器(XInclude、XSLT、SVG)
- 接受
url=参数的代理/重定向端点
测试矩阵
基础测试
http://127.0.0.1:PORT,用于访问内部服务(通过响应差异查找开放端口)http://localhost、http://[::1]、http://2130706433(整数形式的 IP)、http://0x7f000001- 内部主机名:
http://inventory、http://kubernetes.default.svc
绕过过滤
- 解析到回环地址的 DNS 名称:自定义记录、
localtest.me、nip.io模式 - 重定向:公开 URL 通过 302 重定向到内部目标(测试是否会跟随重定向)
- 针对仅解析一次的过滤器进行 DNS 重绑定(rebind.network 工具)
- 滥用协议:在解析器允许的情况下使用
file:///etc/passwd、gopher://、dict://
云元数据(高影响)
- AWS IMDSv1:
http://169.254.169.254/latest/meta-data/iam/security-credentials/ - AWS IMDSv2 需要令牌——尝试通过 302 重定向利用跳数限制
- GCP:使用
Metadata-Flavor: Google请求头访问http://metadata.google.internal/computeMetadata/v1/ - Azure:使用
Metadata: true请求头访问http://169.254.169.254/metadata/instance?api-version=2021-02-01
盲 SSRF
- 使用带外 DNS/HTTP 回调(类似 interactsh)确认请求已发出,即使看不到响应
- 比较开放端口与被过滤端口的响应时间差异
- 错误消息泄露:连接被拒绝与超时的差异,以及 HTTP 错误代码
规则
- 如果读取的元数据返回了凭据:仅收集最少的证明(角色名称、密钥前缀),立即报告;未经授权不得使用凭据进一步横向移动
- 切勿通过 SSRF 外传真实用户数据
应包含的修复建议
目的地白名单、在网络层阻止链路本地地址/回环地址、禁用重定向跟随、使用 IMDSv2、通过隔离且受出口流量控制的工作进程处理请求。
评论
支持 Markdown