极客大挑战2019——HTTP

CTF

本题需要对 HTTP 请求的请求头部中的一些属性有一定的了解 😎😎

主要知识点

  • X-Forwarded-For:简称 xff,用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP头字段。简而言之,xff 就是告诉服务器发送方最原始的IP地址。
  • Referer:采用 URL 的形式表示从哪儿链接到目前的网页。换句话说,就是告诉服务器,是哪个网页引导你进来的。
  • User-Agent:中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

以上这三个属性全部都位于 HTTP 请求的请求头部且都是可以进行修改、伪造的。

解题过程

打开靶机,进入界面,浏览一番,发现并没有啥。右键,查看源代码,发现了个小东西

image-20220323171107089

点击进入,出现如下页面image-20220323171145214

它不是来自https://Sycsecret.buuoj.cn。那按照网页的意思就是它希望你是从这个网址中进入当前页面的,而HTTP请求头中的 referer 字段就有这个功能。因此在HTTP请求头部添加 referer 字段image-20220323172705150

网页的回应告诉我们,请使用 Sylover 浏览器,那就要用到 user-agent 这个属性了,修改如图image-20220323173301319

得到如图回应,它要求我们必须要在本地阅读,而HTTP请求头中的 xff 就是告诉服务器请求的原始 IP 地址

image-20220323173336190

添加 xff 字段image-20220323195403057

最后 flag 到手。

本文作者:GhDemi

本文链接: https://ghdemi.github.io/2022/04/24/%E6%9E%81%E5%AE%A2%E5%A4%A7%E6%8C%91%E6%88%982019--HTTP/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。