欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > [SWPUCTF 2021 新生赛]Do_you_know_http

[SWPUCTF 2021 新生赛]Do_you_know_http

2024/11/30 9:29:37 来源:https://blog.csdn.net/wcj126/article/details/144046057  浏览:    关键词:[SWPUCTF 2021 新生赛]Do_you_know_http

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

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

import requestsurl = '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,这为伪造提供了便利。

顺带学学 原理

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com