skills/exploit/web-method/cache-poisoning-smuggling/SKILL.md
Web 缓存投毒和 HTTP 请求走私。当目标使用 CDN/反向代理/缓存层(Cloudflare/Varnish/Nginx)、或有前后端服务器架构差异时使用。通过操纵缓存键或利用 HTTP 解析差异来投毒缓存或绕过安全控制。高级 Web 攻击技术
npx skillsauth add wgpsec/AboutSecurity cache-poisoning-smugglingInstall 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.
两种相关但不同的高级 Web 攻击技术,都利用了多层 Web 架构中的解析差异。
核心思路:找到一个影响响应内容但不包含在缓存键中的 HTTP 头(unkeyed input),注入恶意内容到缓存。
# 发送两次相同请求,检查响应头
http_request url="http://target/page" headers={"X-Test":"1"}
缓存指标:
X-Cache: HIT/MISSAge: 300(缓存存活秒数)CF-Cache-Status: HIT(Cloudflare)Via: 1.1 varnish逐个测试 HTTP 头是否影响响应但不改变缓存键:
X-Forwarded-Host: evil.com → 响应中出现 evil.com?
X-Forwarded-Scheme: http → 强制 HTTP 重定向?
X-Original-URL: /admin → 路径覆盖?
X-Rewrite-URL: /admin
X-Forwarded-For: 127.0.0.1 → 绕过 IP 限制?
如果 X-Forwarded-Host 影响响应中的资源链接:
核心思路:前端代理和后端服务器对请求边界的解析不一致,导致一个 HTTP 请求被解析为两个。
| 类型 | 前端判断长度 | 后端判断长度 | |------|-------------|-------------| | CL.TE | Content-Length | Transfer-Encoding | | TE.CL | Transfer-Encoding | Content-Length | | TE.TE | Transfer-Encoding | Transfer-Encoding(处理差异)|
前端用 Content-Length,后端用 Transfer-Encoding:
POST / HTTP/1.1
Host: target.com
Content-Length: 13
Transfer-Encoding: chunked
0
SMUGGLED
如果后端处理了 SMUGGLED 作为新请求的开头 → 存在走私。
时间延迟检测法(更可靠):发送不完整的 chunked body,如果前端按 CL 转发完毕但后端等待剩余 chunk → 响应超时/时间延迟 → 存在 CL.TE 走私。响应差异(超时 vs 正常)是判断的关键依据。
POST / HTTP/1.1
Host: target.com
Content-Length: 3
Transfer-Encoding: chunked
8
SMUGGLED
0
绕过前端安全控制:
走私一个访问 /admin 的请求,绕过前端代理的 ACL。
窃取其他用户请求: 走私一个不完整的 POST 请求,后端等待更多数据 → 下一个用户的请求被拼接上来 → 读取其 Cookie/Token。
缓存投毒: 走私一个到不同路径的请求,让缓存存储错误的响应内容。
--data-binary 发送Transfer-Encoding: xchunked、Transfer-Encoding\n: chunked(换行/折叠注入)、多个 TE 头利用解析差异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 伪造的场景都应使用此技能