文章简介

HTTP 请求头是 CTF Web 方向入门必考点,绝大多数新手 Web 送分题都围绕请求头伪造展开。本文结合经典赛题,从基础概念、常用请求头、工具使用、通用解题思路全方位讲解,零基础也能快速上手。


一、引言:为什么 HTTP 请求头是 CTF Web 必考内容

HTTP 是 Web 数据交互的底层协议,而HTTP 请求头是客户端与服务器之间传递附加信息的核心通道。

很多 CTF 入门 Web 题并不会考察复杂漏洞,核心就是考察选手对 HTTP 请求头的理解与篡改能力。比如经典赛题 MoeCTF 2021 Do you know HTTP,题目提示:浏览器已经不够用了,试试 burpsuite!

这句话直接点明考点:HTTP 请求头可手动篡改,服务器会根据不同请求头执行不同逻辑判断。接下来本文从基础到实战,带你彻底掌握 CTF 中 HTTP 请求头相关题型。

二、HTTP 请求头基础概念

2.1 基本定义

HTTP 请求头是客户端(浏览器、抓包工具等)向服务器发送的描述性信息,统一格式为:键: 值

2.2 标准请求报文示例

http

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Cookie: username=test
Referer: https://www.baidu.com
X-Forwarded-For: 127.0.0.1

请求头中每一个字段都承载不同信息:客户端身份、访问来源、浏览器类型、登录状态、IP 地址等。 CTF 此类题型的核心思路:伪造请求头,绕过服务器校验

三、经典实战例题:MoeCTF 2021 Do you know HTTP

这是一道入门级请求头经典题,几乎所有 CTF 新手都会练习。

3.1 题目考点

篡改 HTTP 请求头,伪装用户权限,获取 Flag。

3.2 题目业务逻辑

服务器通过 Cookie 字段区分用户身份:

  • Cookie: VIP=0 → 普通用户,无 Flag
  • Cookie: VIP=1 → 管理员,返回 Flag

3.3 详细解题步骤

  1. 打开 Burp Suite,配置浏览器代理,开启抓包拦截;
  2. 浏览器访问题目地址,请求被 Burp 成功拦截;
  3. 在请求头区域修改 Cookie 字段:

http

Cookie: VIP=1
  1. 放行请求,服务器校验通过,直接返回 Flag。

3.4 题目总结

这道题暴露了一个核心安全问题:HTTP 请求头由客户端完全控制,服务器不能盲目信任请求头数据。 CTF 中 80% 以上简单 Web 题,都基于这一思路设计。

四、CTF 高频 HTTP 请求头汇总(速查表)

下面整理 CTF 赛场出现频率最高的请求头字段,熟记即可应对大部分基础题型。

表格

请求头字段 主要作用 CTF 常见考察方式
Host 指定访问的目标域名 伪造 Host,访问隐藏页面、后台地址
User-Agent 浏览器 / 客户端标识 限制手机端、爬虫、指定浏览器才能访问
Referer 记录请求来源页面 校验请求必须来自指定网站
Cookie 用户身份、会话凭证 修改权限、越权访问、伪造登录状态
X-Forwarded-For 传递客户端 IP 伪造本地 IP 127.0.0.1,绕过本地访问限制
Accept-Language 客户端语言偏好 限定中文 / 英文环境才可正常访问
Authorization 基础认证登录凭证 伪造登录状态,绕过账号密码校验

五、CTF 为什么必须使用 Burp Suite?

很多初学者会疑问:浏览器也能查看请求头,为什么一定要用 Burp Suite?原因如下:

  1. 原生浏览器仅支持简单查看,无法完整编辑原始 HTTP 报文
  2. 浏览器会自动补全、修正请求字段,干扰服务器校验逻辑;
  3. Burp Suite 支持对请求头任意增、删、改,可完全自定义请求内容。

CTF 解题本质:发送服务器预期的请求,而非浏览器默认请求,这也是 Burp 成为 Web 题标配工具的原因。

六、请求头类题目通用解题思路(万能模板)

遇到所有 HTTP 请求头相关题型,直接套用以下流程即可:

  1. 使用 Burp Suite 抓包,查看完整原始请求报文;
  2. 根据题目提示判断需要修改的请求头:
    • 要求本地访问 → 修改 X-Forwarded-For
    • 限制浏览器 / 设备 → 修改 User-Agent
    • 需要切换身份 / 登录 → 修改 Cookie
    • 校验访问来源 → 修改 Referer
  3. 针对性修改对应请求头字段;
  4. 放行 / 重放请求,获取 Flag。

七、全文总结

  1. HTTP 请求头是客户端可控的信息载体,可随意篡改,是 CTF Web 入门核心考点;
  2. CTF 入门 Web 题中,90% 基础题型都考察请求头伪造
  3. 高频核心字段:CookieX-Forwarded-ForUser-AgentRefererHost
  4. 浏览器无法完成复杂篡改,Burp Suite 是此类题目的必备工具;
  5. 服务器直接信任客户端请求头,属于典型安全漏洞,也是 CTF 基础送分点。

HTTP 请求头是 Web 安全的第一课,掌握原理、字段用法和抓包篡改技巧,就能轻松拿下绝大多数 CTF 入门 Web 题目。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐