HTTP请求¶
WEB · 知识域。HTTP 协议层攻防:请求头伪造、响应分析、解析器分歧利用。标签:来源头伪造、UA头伪造、返回头分析、返回内容分析、请求伪造。
触发特征¶
- 服务端按 IP/来源/UA 做访问控制或内容区分。
- 前置代理/CDN + 后端应用的双层结构(走私、缓存投毒)。
- 报错页、响应头、响应时延本身是信息源。
来源头伪造¶
- 校验链优先级(框架各异,逐个试):
Client-IP→X-Forwarded-For→X-Real-IP→Referer。 - 取第一个还是最后一个 IP 决定注入位置;
X-Forwarded-For进入日志/XML 时可注入 CRLF 或实体(Pwn2Win 2016:该头注入 XML)。 - 本地校验绕过:
127.0.0.1、localhost、内网段、Host: localhost。
UA头伪造¶
- UA 门禁:
robots.txt按 UA 返回不同内容(TAMUctf 2019);Googlebot/baiduspider UA 解锁隐藏路径。 - UA 参与模板渲染 → SSTI;进入日志 → 日志投毒(见 文件上传 的日志包含)。
返回头分析¶
Server/X-Powered-By版本号 → 匹配 N-Day(CVE 清单思路:Next.js 中间件绕过 CVE-2025-29927、Apache HttpOnly 泄露 CVE-2012-0053)。Set-Cookie结构泄露序列化格式(Flask-itsdangerous、Laravel-encrypted、PHP-session)。Location/Refresh跳转链挖开放重定向与 token 传递。
返回内容分析¶
- 时间差 oracle:SQLite
randomblob()盲注(SECCON 2017)、盲 SQLi 经脚本引擎超时报错(35C3 2018)。 - 报错页回显:Flask debug PIN 计算、Werkzeug 控制台;
/proc/self/mem经 HTTP Range 读取(UTCTF 2024)。 - 前端混淆解码:JSFuck、AAEncode、JJEncode(0xFun 2026)。
请求伪造与解析分歧¶
- 请求走私:CL-TE/TE-CL 差异;走私 + 缓存代理组合投毒(CSAW 2018:
X-Forwarded-Host控制 CDN 模板拉取)。 - HTTP TRACE:开启时回显请求头,绕过
HttpOnly读 Cookie(BYPASS CTF 2025)。 - 中间件 ACL 绕过:HAProxy 正则缺陷(EHAX 2026)、Express
%2F路径绕过(srdnlenCTF 2026)、多斜杠path.startswith前缀绕过(CSAW 2018 Finals)。 - URL 解析分歧:代理与后端对
@、//、%2f处理不一致 → SSRF(33C3 2016:parse_url 与 curl 双@分歧)。 - 协议复用:同端口 SSH+HTTP 识别(0xFun 2026);TCP 分包绕过防火墙特征。
工具速查¶
curl -v -H "X-Forwarded-For: 127.0.0.1" -H "UA: Googlebot" URL
# Burp Repeater 手工走私;Turbo Intruder 并发竞态