之前在打CTF时出现一些必须特定IP才能访问网页拿到flag的题目,基本大同小异都是根据请求报文的某个头获取对应ip后端以此进行检测的
这个在比赛时没网的时候就比较坑爹了,有些题目是黑盒的看不到源代码,请求包里也没有明说是什么报头,这就成了一道吃经验的题目了,有些CTF还专门使用冷门的报头对ip做限制,如果恰好碰不到那个报头就没办法继续了,所以对常见的报头做个总结
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
Forwarded: 127.0.0.1
X-Requested-With: 127.0.0.1
X-Forwarded-Proto: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
X-remote-IP: 127.0.0.1
X-remote-addr: 127.0.0.1
True-Client-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
Client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
Ali-CDN-Real-IP: 127.0.0.1
Cdn-Src-Ip: 127.0.0.1
Cdn-Real-Ip: 127.0.0.1
CF-Connecting-IP: 127.0.0.1
X-Cluster-Client-IP: 127.0.0.1
WL-Proxy-Client-IP: 127.0.0.1
Proxy-Client-IP: 127.0.0.1
Fastly-Client-Ip: 127.0.0.1
True-Client-Ip: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Custom-IP-Authorization: 127.0.0.1
只需要把127.0.0.1改成被限制的ip就可以正常访问了,CTF通常会给对应ip,没给的话那就爆破就行了
这个对一些实际的网站也有一些用处,比如一些403页面,403就是访问被拒绝的意思,常见就是hostname+端口这样的链接,并不是出现这个页面就表示像404一样等于没有这个页面,可能是文件权限被设置不允许访问,这个就没什么办法了,但还有一种情况是有些开发者会限制特定ip访问,这时也会出现403,基本上域名+端口号访问403的都是这种情况了,这时候抓个包把所有报头搞上去就可以试一下了,通常不是127.0.0.1就是localhost,如果是其他就考验信息收集的能力了,或者直接爆破就行了,找不到对应ip那就可以放弃了,不过这些报头对CTF限制ip访问题目基本可以通杀了