Fork me on github

[极客大挑战 2019]Http 1

解题过程

打开靶机:

 

没有什么发现,找一下代码源,有点多,但是仔细找回发现一个secret.php

打开查看:
 

 

 

 

 他说我不是从上面那个网站来的,联想到报文header中的Referer。

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,

服务器因此可以获得一些信息用于处理。Referer 常用在防盗链和防恶意请求中。传输referer需要在页面内添加相关的代码。

 

解决的办法是用bp抓包,然后改一下header,添加:

Referer:https://www.Sycsecret.com

 

对使用的浏览器也有要求,那么就修改User-Agent:
 
用来传输用户使用的是什么样的浏览器。有些网站为了防止爬虫,会检验User-Agent,只有当是用户访问的时候才会传输数据。

 

 

只能从本地访问。那么访问的ip就是127.0.0.1。可以添加X-Forwarded-For,伪造原始访问ip是127.0.0.1

 

X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。

当今多数缓存服务器的用户为大型ISP,为了通过缓存的方式来降低他们的外部带宽,他们常常通过鼓励或强制用户使用代理服务器来接入互联网。

有些情况下,这些代理服务器是透明代理,用户甚至不知道自己正在使用代理上网。
如果没有XFF或者另外一种相似的技术,所有通过代理服务器的连接只会显示代理服务器的IP地址,而非连接发起的原始IP地址,

这样的代理服务器实际上充当了匿名服务提供者的角色,如果连接的原始IP地址不可得,恶意访问的检测与预防的难度将大大增加。
如果你使用透明代理上网,那么在透明代理发送给服务器端的HTTP请求中会包含x-forward-for信息
简单来说就是用来传输最原始ip地址的,阻止匿名请求的,但是可以通过抓包来修改。

 

 


 

 

ip伪造的方法(偷来的笔记):

Client-Ip: 127.0.0.1
X-Forwarded-For: 127.0.0.1
Host: 127.0.0.1
Referer: www.google.com

 

posted @ 2021-02-04 16:13  北孤清茶。  阅读(939)  评论(0编辑  收藏  举报