考点精讲
记忆技巧
Referer=来源、Cookie=身份、XFF=来源 IP
XFF 可伪造 = 可绕过 IP 校验限制
XFF 可伪造 = 可绕过 IP 校验限制
常见误区
- 以为 X-Forwarded-For 一定是真实 IP——它可被伪造
- 混淆 Referer 与 XFF——一个是来源页面、一个是来源 IP
- 忽略 User-Agent 伪造在绕过 WAF/UA 校验中的作用
真题思路
- 【示例】 某网站通过 HTTP 头 X-Forwarded-For 的首个 IP 判断用户来源并做访问限制。攻击者想绕过该限制,可行的做法是()
修改 Referer 头为管理员来源页面 在请求中伪造 X-Forwarded-For 头为允许的 IP 修改 Cookie 中的用户名 把响应状态码改为 200
答案:B
解析:XFF 是记录客户端原始 IP 的请求头,且可被伪造;网站以 XFF 首个 IP 判断来源时,伪造 XFF 为允许的 IP 即可绕过限制,B 正确。Referer 记录来源页面、Cookie 记录身份、状态码是响应内容,均不直接影响该 IP 判断。
常见问题
Q:X-Forwarded-For 有什么作用?
A:X-Forwarded-For(XFF)用于记录经过代理转发时客户端的原始 IP,格式为「客户端 IP, 代理 1, 代理 2」,服务器通常取第一个作为真实 IP。
Q:为什么 XFF 可以被伪造?
A:XFF 只是 HTTP 请求头中的一个字段,由客户端或代理自行填写,没有强制校验机制,攻击者可随意构造,因此可伪造 XFF 来绕过基于 IP 的限制。
Q:Referer 记录的是什么?
A:Referer 记录的是当前请求的来源页面地址,即用户是从哪个页面跳转/发起的请求。
Q:User-Agent 伪造能用来做什么?
A:User-Agent 标识客户端类型(浏览器/爬虫等),可被伪造用于绕过基于 UA 的校验或 WAF 规则,伪装成正常浏览器或特定客户端。
相关知识
教材出处:第3章 HTTP 协议 HTTP 消息头与 X-Forwarded-For