做过CTF的朋友应该都有一个体会:Web方向的知识点又杂又散,今天碰一个SQL注入,明天碰一个文件上传,后天又来个反序列化,学了半天总觉得没形成体系。CTFHub这个平台的好处就在于它把Web方向拆成了技能树,一级一级往上点,而整个Web技能树的根节点之一,就是HTTP协议这一关。我一开始也觉得,HTTP协议不就是请求和响应嘛,有什么好学的?结果真正刷完CTFHub的HTTP协议模块才发现,这个模块几乎是把Web层面最容易忽略的几个“盲区”挨个戳了一遍。这篇文章就把我在通关过程中的完整思路、解题手法和踩坑记录整理出来,给正准备刷这个模块的朋友做个参考。
这个模块整体难度不大,定位是“Web前置技能”,意思就是说你连这里都过不去,后面那些题目大概率也会卡壳。适合刚入门CTF、还没系统学过HTTP协议细节的选手,也适合那些学了理论但没做过实际练习的人。整篇文章会按照题目类型逐题拆解,从请求方法改造、Base64认证、响应包分析、抓包看Cookie,到伪造IP头、处理302跳转,每一题我都会讲清楚“为什么这么解”,而不只是给你一个答案。
1. 先聊清楚:为什么HTTP协议会被单独做成一个关卡模块
1.1 HTTP协议在CTF Web题目里的位置
CTF的Web题目虽然五花八门,但几乎所有攻击最终都要落在HTTP请求上。SQL注入是往HTTP参数里塞Payload,文件上传是构造一个特殊的HTTP请求体,SSRF是让服务器发HTTP请求,XSS则是在用户浏览器和服务器之间的HTTP交互里做文章。换句话说,HTTP协议就是你打Web题的“通用语言”,不熟悉这套语言,拿到题目有时候连“从哪下手”都不知道。
你去看CTFHub的技能树就会注意到,它把Web前置技能放在很靠前的位置,而HTTP协议又排在这个前置技能列表的前面。这其实是平台在设计时故意安排的:先让你在HTTP协议上吃点小亏,明白“请求包”和“响应包”里面到处都是信息,然后你再去学什么文件上传、命令注入,思路才会打开。很多新手上来就急着刷SQL注入,结果连Burp Suite都没打开过,看不懂原始请求长什么样,刷题效率自然特别低。
1.2 这个模块的整体设计逻辑:由浅入深的“HTTP体检”
把CTFHub的HTTP协议整个模块刷下来,你会发现它安排的顺序有自己的逻辑。它不是上来就考你什么复杂的安全漏洞,而是先让你学会改请求方法,然后再让你看响应包里的源码和响应头,接着才是认证绕过、抓包、Cookie操作、伪造请求头、处理重定向。每一步都在逼你养成一个习惯:拿到一个Web题目,先别急着在页面上瞎点,打开抓包工具,把请求和响应从头到尾看一遍。
这个习惯在题目里体现得非常直接。有的题flag就躺在响应头里,有的题需要你把请求方法改成题目指定的奇怪方法,有的题则需要你跟着重定向走一步但中途拦下来看信息。刷完之后你会明显感觉到,自己看“流量”的敏感度高了一个档次。后面你再去学更复杂的Web漏洞,就会很自然地联想到HTTP层面的关键点。所以这一关更像是一次带体检性质的专项训练,目的不是为难你,而是补上大多数人容易漏掉的基础功。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 开打之前:工具与环境准备
2.1 浏览器开发者工具:最轻量的抓包方式
刷这个模块,个人建议从浏览器开发者工具起步。按F12打开开发者工具,切到“网络”(Network)标签页,刷新一下题目页面,你会看到所有请求的列表。点击任意一个请求,能看到完整的请求URL、请求方法、状态码、请求头(Request Headers)、响应头(Response Headers)和响应体(Response Body)。对于CTFHub这类平台来说,页面本身没有复杂的加密,开发者工具已经完全够用。
这里有一个很小但容易卡住新手的细节:如果你要在开发者工具里修改请求方法或者请求头,直接在“网络”标签页里改是不行的。开发者工具主要用来“看”,要“改”得用它的编辑重放功能,或者直接转到浏览器自带的命令行工具。Chrome的Fetch API可以辅助构造请求,Firefox的开发者工具则支持直接编辑和重发请求,右键点击请求就能“编辑并重放”。我用的时候感觉Firefox在这一点上更顺手,不过大多数人习惯用Chrome,那也没关系,备上Burp Suite就能解决修改的问题。
