知识点

  • HTTP请求头
  • XFF伪造

HTTP请求头

  1. Referer: 来源页面,即访问该页面的前一个页面
  2. User-Agent:浏览器名称常见的如谷歌浏览器(Chrome),火狐浏览器(FireFox),Safari浏览器都有对应的浏览器请求头
  3. X-Forwarded-For:一个事实标准,用于标识某个通过超文本传输协议代理或负载均衡连接到某个网页服务器的客户端的原始互联网地址(Wiki百科 HTTP头字段)

XFF伪造绕过服务器IP过滤

TCP/IP层面的IP伪造很难实现,因为更改后很难实现正常的TCP通信,但在HTTP层面的伪造就显得很容易。可以通过伪造XFF头进行IP伪造。

  1. 但是服务器判断真实地址的参数有时不一定是XFF,也可能是以下几个参数。使用模糊测试fuzz一下,或许能找到绕过服务器过滤的请求头
  2. x-forwarded-for
  3. x-remote-IP
  4. x-originating-IP
  5. x-remote-ip
  6. x-remote-addr
  7. x-client-IP
  8. x-client-ip
  9. x-Real-ip

启动靶机

启动靶机,什么都没有发现
image.png
在源码里找到Secret.php
image.png
访问Secret.php
image.png

1.修改referer头

提示我们需要来自https://www.Sycsecret.com网址,直接改header头信息即可,我们可以通过使用referer头来修改
image.png

2.修改UA头

提示我们需要使用”Syclover”浏览器,这里直接修改UA头即可
image.png

3.XFF伪造

要求我们本地访问,我们可以使用XFF头进行伪造,得到flag

image.png