6.【BUUCTF】[极客大挑战 2019] Http(HTTP头伪造)

进入题目页面如下

ctrl+u查看源码

进入查看

提示不是来自https://Sycsecret.buuoj.cn

用burp suite抓包,右键发送到重放器,添加http请求头

Referer:https://Sycsecret.buuoj.cn绕过

提示use "Syclover"

提示只允许本地访问此网页

HTTP头伪造

HTTP 头伪造是一种网络攻击技术,通过修改或伪造 HTTP 请求头中的信息来达到特定目的。

基本概念

在 HTTP 通信中,客户端(如浏览器)向服务器发送请求时会附带一系列的 HTTP 头信息,用于传递请求的相关元数据,例如请求方法、请求的资源路径、客户端的类型、支持的编码格式等。服务器在接收到请求后,会根据这些头信息来处理请求并返回相应的响应。HTTP 头伪造就是攻击者通过各种手段修改或伪造这些头信息,使服务器按照攻击者的意图进行处理。

常见伪造场景及原理

1. 伪造 User-Agent

原理User-Agent 头用于标识客户端的类型和版本信息,服务器可以根据这个信息来提供不同的服务或内容。攻击者可以伪造 User-Agent 头,模拟不同的客户端类型,例如将自己伪装成搜索引擎爬虫,绕过一些基于 User-Agent 的访问限制。

在 Python 中使用 requests 库伪造 User-Agent 头:

2. 伪造 Referer

原理Referer 头用于指示请求是从哪个页面跳转过来的,服务器可以根据这个信息来进行一些统计或访问控制。攻击者可以伪造 Referer 头,绕过基于 Referer 的访问验证,例如在一些网站中,只有从特定页面跳转过来才能访问某些资源,可以伪造 Referer 头来绕过这个限制。

import requests

headers = {
    'Referer': 'http://trusted-site.com'
}
response = requests.get('http://example.com/protected-resource', headers=headers)
3. 伪造 X-Forwarded-For

原理 :在使用代理服务器的网络环境中,X-Forwarded-For 头用于记录客户端的真实 IP 地址。可以伪造这个头信息,隐藏自己的真实 IP 地址,或者将责任嫁祸给其他 IP 地址

X-Forwarded-For: 1.2.3.4

原理Cookie 头用于在客户端和服务器之间传递会话信息,服务器可以根据 Cookie 中的信息来识别用户身份。可以通过窃取或伪造 Cookie 头,冒充合法用户访问受保护的资源。


构造payload

X-Forwarded-For:127.0.0.1

最终得到flag


X-Forwarded-For(XFF)

是一个在 HTTP 协议中常用的头字段,主要用于在使用代理服务器的网络环境里,记录客户端的真实 IP 地址

X-Forwarded-For 是一个非标准的 HTTP 头字段,它不是 HTTP 协议规范的一部分,但被广泛应用于代理服务器和负载均衡器中。当客户端通过代理服务器向服务器发送请求时,服务器通常只能获取到代理服务器的 IP 地址,而无法直接获取客户端的真实 IP 地址。X-Forwarded-For 头字段的作用就是在请求经过代理服务器时,将客户端的真实 IP 地址追加到该字段中,以便服务器能够了解请求的原始来源。

工作原理

  1. 客户端发起请求:客户端向代理服务器发送 HTTP 请求。
  2. 代理服务器处理请求 :代理服务器接收到请求后,会在请求头中添加 X-Forwarded-For 字段,并将客户端的 IP 地址作为该字段的值。如果请求已经经过了多个代理服务器,每个代理服务器会将前一个代理服务器记录的 X-Forwarded-For 字段值追加到新的 X-Forwarded-For 字段中,多个 IP 地址之间用逗号和空格分隔。
  3. 服务器接收请求 :服务器接收到请求后,可以通过解析 X-Forwarded-For 字段来获取客户端的真实 IP 地址。
相关推荐
禁默17 分钟前
HTML中的图片标签详解及路径使用【学术投稿-第五届环境资源与能源工程国际学术会议(ICEREE 2025)】
网络·html·能源
小镇敲码人1 小时前
【Linux网络编程】之守护进程
linux·运维·网络
饮长安千年月2 小时前
CVE-2024-13025-Codezips 大学管理系统 faculty.php sql 注入分析及拓展
开发语言·数据库·sql·网络安全·php
AC-PEACE2 小时前
route 与 router 之间的差别
前端·网络
Lambsbaa3 小时前
轻量级服务器http-server
运维·服务器·http
盛夏绽放3 小时前
网络跨域问题深度解析与解决方案
网络·后端·前端框架·node.js
我是唐青枫3 小时前
Jetbrains IDE http客户端使用教程
ide·网络协议·http
好好学习O(∩_∩)O4 小时前
[网络]url解码,从网址转化为ip
网络·网络协议·tcp/ip
roman_日积跬步-终至千里4 小时前
【分布式理论7】分布式调用之:服务间的(RPC)远程调用
分布式·网络协议·rpc
mosquito_lover14 小时前
编写Bash实现Linux网络流量监控统计,无需额外工具
linux·运维·网络