在http协议中假造ip的大概性研究[网络技术]
本文“在http协议中假造ip的大概性研究[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
【苏南博文导读】
前些日子对自定义http协议的各个数据举行了研究,关于ip假造的问题,我当时给的倡议是利用代理服务器,不过后来发现,其实可以在http协议加入一个选项,来实现一个非假造ip的假造ip.若何理解呢?来由以下:~
1、办法概述
在http协议数据头里面加当选项"x-forward-for",比方:"x-forward-for:202.204.76.254",这样发送出去的包,就是一个特别的包,在收包方看来,这个包的意思是,一个代理服务器发过来的数据包,而这个包的真是ip是"202.204.76.254",其实还是实现的是三次握手,但是只不过是在发包的同时,对收包方提到了一个第三者.
2、试用范围
因为目前的网站类的程序假若有ip限制的话,基本上都是会检测是不是代理服务器发送的数据的,假如是代理服务器发送的数据,那么他就把ip记为这个(透明)代理服务器发送的x-forward-for的ip.
以一段较为风行的php检测ip的代码为例:
function get_ip(){ if(getenv('http_client_ip')) { $gb_ip = getenv('http_client_ip'); } elseif(getenv('http_x_forwarded_for')) { $gb_ip = getenv('http_x_forwarded_for'); } elseif(getenv('remote_addr')) { $gb_ip = getenv('remote_addr'); } else { $gb_ip = $_server['remote_addr']; } return $gb_ip; }
那么大家可以看到这个ip是若何假造的了.
3、应对办法
当然关于网站方面,这种假造ip的情形固然不是很多,但是假如在投票类的程序中,当然很需求这方面的检测了,呵呵.多多检测http_client_ip吧.貌似这个还没有办法假造?………………………..
4、总体见解
这个办法之所以称之为非假造ip的假造ip,主要就是操纵了目前大大都网站程序检测ip的一个漏洞.所以假如网站程序可以重新审视一下自己的ip检测办法,这个办法就会渐渐失效的.呵呵.
Update:080108
苏南发现每天都有人通过搜索引擎来拜候本篇博文,
预计大家看完了都在猜疑其有效性.
光说无凭,实例见证.
经本人多次测试,有效.
Update:080116
本人实现的语言有:PHP和CSharp,C++下面没有测试通过.
别的的没有试验. 呵呵.并且PHP下面的效率挺差的.呵呵.
不管大家用什么语言,要保证此假造IP行为见效.
必须保证以下条件:
1、对方(接纳伪IP的哪里)那边是web程序,并且他的IP检测有如上所述问题.
2、在你post大概get过去的数据包里面对x-forward-for举行假装.
普通便可以成功~
以上是“在http协议中假造ip的大概性研究[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |