20220129--CTF刷题--- WEB方向--简单题--含常见的 HTTP请求头知识点总结

20220129–CTF刷题— WEB方向–简单题–常见的 HTTP请求头–含总结

刷题网站:攻防世界 https://adworld.xctf.org.cn/

关于更多的刷题平台汇总:这是我自己的汇总(也包含自己可以在本地搭建的 网站)
https://blog.csdn.net/qq_51550750/article/details/122748075

在这里插入图片描述
在这里插入图片描述

于是开启代理,开始burp抓包:
添加上X-Forwarded-For的头:
在这里插入图片描述
得到相应:
在这里插入图片描述
根据提示再加上referer的头:
在这里插入图片描述
最终得到flag:cyberpeace{25444a12e0172eb21135243be10d4a3a}
在这里插入图片描述
回顾:这道题主要利用了HTTP的几个重要的头,总结如下。
HTTP的几个重要的头

X-Forwarded-For

X-Forwarded-For 是一个扩展头。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP,现在已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用

X-Forwarded-For请求头格式非常简单入 RFC 7239(Forwarded HTTP Extension)标准之中

X-Forwarded-For:client, proxy1, proxy2

绕过:Client-ip(有时会用到)

Referer

什么是referer头

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。

从主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
Referer的正确英语拼法是referrer。由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。其它网络技术的规范企图修正此问题,使用正确拼法,所以拼法不统一。

在JSP中获取REFERER的方式是:request.getHeader(“REFERER”);
在PHP中获取REFERER的方式是:$_SERVER[‘HTTP_REFERER’];

Referer的格式
Referer: http://www.test.com

User_agent

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:0.9.4) Gecko/20011128 Netscape6/6.2.1 在 Linux 中的 SeaMonkey 1.1a:

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1b2) Gecko/20060823 SeaMonkey/1.1a 在 Windows XP 中的 Firefox 2.0.0.11 :
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 Mac OS X 中的 Camino 1.5.1:

CTF比赛中,POST请求是一种常见的攻击方式。通过POST请求,攻击者可以向目标服务器发送数据,以获取敏感信息或执行恶意操作。要进行POST请求,可以使用Python的requests库。下面是一个示例代码,展示了如何使用requests库发送POST请求: ``` import requests url = 'https://example.com/login' # 替换为目标网站的URL data = {'username': 'admin', 'password': 'password'} # 替换为POST请求的参数 response = requests.post(url, data=data) print(response.text) # 打印服务器返回的响应内容 ``` 在这个示例中,我们使用requests.post()函数发送POST请求。我们传递了目标网站的URL和POST请求的参数。在这个例子中,我们假设目标网站的登录页面的URL是'https://example.com/login',并且需要提供用户名和密码作为POST请求的参数。你可以根据实际情况修改URL和参数。 请注意,发送POST请求时,你可能还需要设置其他的请求头信息,比如User-Agent等。你可以使用requests库的headers参数来设置请求头。具体的设置方法可以参考引用\[1\]和引用\[2\]中的示例代码。 希望这个回答能够帮助你理解如何进行CTF中的POST请求。如果你有任何其他问,请随时提问。 #### 引用[.reference_title] - *1* *2* *3* [详解 CTF Web 中的快速反弹 POST 请求](https://blog.csdn.net/qq_26090065/article/details/81583009)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值