avatar

CTF-JarvisOJ-Web-LOCALHOST

题目入口:http://web.jarvisoj.com:32774/

这道题的提示很明显,就是要求我们访问的时候,等效于127.0.0.1的本地访问

根据http协议,我们可以伪造访问的ip,将我们的访问ip改成127.0.0.1

我们打开题目
由于ie本身是没有直接修改http header的功能,所以我们需要下载其他有该功能的浏览器。例如谷歌、火狐。

而我电脑上已经安装了火狐,那么我们就使用火狐来修改http header的ip

在火狐上打开该网页,然后F12,然后在网络这里选中对应返回给我们网页数据的封包,然后点击右边的 ##编辑和重发
接着会出现以下情况

我们在结尾加入

1
X-Forwarded-For: 127.0.0.1

注意 : 后面有空格

然后点击重新发送,会出现以下图片

得到flag:PCTF{X_F0rw4rd_F0R_is_not_s3cuRe}

###总结:从这个案例中,我们发现http协议中是可以伪造本地访问的,对于 X-Forwarded-For 这个字段,我们以后开发网站的时候要着重考虑一下。

接下来我们来具体分析一下XFF(X-Forwarded-For)这个字段的具体用途,它一般使用在代理服务器中。

1
X-Forwarded-For: client1, proxy1, proxy2, proxy3

其中的值通过一个 逗号+空格 把多个IP地址区分开, 最左边(client1)是最原始客户端的IP地址, 代理服务器每成功收到一个请求,就把请求来源IP地址添加到右边。请求刚从client1中发出时,XFF是空的,请求被发往proxy1;通过proxy1的时候,client1被添加到XFF中,之后请求被发往proxy2;通过proxy2的时候,proxy1被添加到XFF中,之后请求被发往proxy3;通过proxy3时,proxy2被添加到XFF中,之后请求的的去向不明,如果proxy3不是请求终点,请求会被继续转发。

文章作者: 咲夜南梦
文章链接: http://yoursite.com/2018/11/20/CTF-JarvisOJ-Web-LOCALHOST/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论