mcpField
S
ssrf-hunting

ssrf-hunting

github.com/securityskills安全0172 次安装9 周前更新
代码仓库

关于 ssrf-hunting

ssrf-hunting 是用于系统化排查服务器端请求伪造风险的安全技能,面向审计和安全测试场景。它列出 URL 获取入口、绕过测试矩阵、盲 SSRF 验证方法及修复建议。

主要功能

  1. 01定位服务器端 URL 获取点
  2. 02测试环回地址与内部主机
  3. 03检查过滤器绕过与重定向
  4. 04验证云元数据与盲 SSRF
  5. 05整理风险处置与修复建议

适用场景

  1. 01审计 Webhook 和导入器的 URL 请求
  2. 02测试预览服务及代理端点
  3. 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