[SWPUCTF 2021 新生赛]Do_you_know_http

访问告诉我们要用WLLM 浏览器模式访问

import requests

url = 'http://node7.anna.nssctf.cn:23148/hello.php'  # 替换为题目提供的URL
headers = {
    'User-Agent': 'WLLM'
}
response = requests.get(url, headers=headers)
print(response.text)

import requests

url = 'http://node7.anna.nssctf.cn:23148/hello.php'  # 将URL改为本地地址
headers = {
    'User-Agent': 'WLLM',               # 模拟WLLM浏览器
    'X-Forwarded-For': '127.0.0.1'      # 添加伪造的IP头
}
response = requests.get(url, headers=headers)
print(response.text)

 传统做法

抓包得到源码,发送到重放器

这里修改agent

使用

X-Forwarded-For

这个请求可以来伪造

X-Forwarded-For 的原理和功能

X-Forwarded-For 是一种 HTTP 请求头,主要用于标识通过代理或负载均衡访问 Web 服务器的客户端的原始 IP 地址。它是由代理服务器或负载均衡器添加的,用于记录客户端的真实 IP 地址。

原理
  1. 当客户端通过代理服务器或负载均衡器访问目标服务器时,目标服务器只能看到代理服务器的 IP 地址。
  2. 为了解决这一问题,代理服务器会在 HTTP 请求头中添加一个 X-Forwarded-For 字段,记录客户端的真实 IP 地址。
  3. 多级代理场景下,X-Forwarded-For 会以逗号分隔记录多个 IP,格式如下:
     

    makefile

    复制代码

    X-Forwarded-For: 客户端IP, 代理1IP, 代理2IP

功能
  • 帮助服务器识别用户的真实 IP 地址。
  • 用于日志记录、访问控制或地理位置分析。
  • 可用于安全检查,如防止 DDoS 攻击。

可以伪造的内容

除了伪造客户端的 IP 地址,X-Forwarded-For 还能用来伪造以下信息:

  1. 多级代理链
    可以伪造一个假的代理链,例如:

     

    makefile

    复制代码

    X-Forwarded-For: 192.168.1.1, 10.0.0.1, 127.0.0.1

    服务器可能会解析第一项作为客户端的真实 IP。

  2. 注入恶意字符
    在某些情况下,可以尝试伪造含有恶意字符的值,可能会触发漏洞:

     

    javascript

    复制代码

    X-Forwarded-For: <script>alert(1)</script>

  3. 伪造为内网地址
    一些系统可能错误地认为 127.0.0.1 或内网地址(如 192.168.x.x)是可信的,从而授予特权。

  4. SQL 注入或其他攻击载荷
    如果服务器没有对头部进行严格验证,可以尝试注入攻击载荷:

     

    bash

    复制代码

    X-Forwarded-For: 127.0.0.1' OR '1'='1


X-Forwarded-For 的伪造原理

  1. 请求头可控性:HTTP 请求头是由客户端发送的,服务器通常不会验证其真实性。
  2. 信任代理服务器:很多服务会信任代理添加的 X-Forwarded-For,但不会验证其来源,因此可以直接伪造。
  3. 服务器解析逻辑漏洞:一些服务器只解析 X-Forwarded-For 的第一个值,忽略后续 IP,这为伪造提供了便利。

顺带学学 原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

name_name123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值