以下引用Misha在2004-10-10 2:04:38的发言: 看来你的网络开发经验还是太少......居然会说IP是靠cookie提交的......-_-||||||||||||||||||
"理论上可以通过修改提交数据包来实现伪造"
这就是我说的IP欺骗嘛。建议你阅读一下相关的文章,你就会明白这有多么困难了。再给你一个简单的说明,我已经说过IP是网络连接的基本条件,有连接数据的传输几乎都是依赖IP进行的。你的主机C要欺骗主机A让它认为你是主机B,需要做的有两件事: 1. 攻击主机B,使其在你欺骗的时间段内无法相应网络请求 2. 伪造主机B的数据包,发送给主机A
要做到1,2都不容易: 首先1要求你能够有进行DoS主机B的条件,或者有掌握主机B的某个和网络相关,可以利用的漏洞; 其次2则要求你首先能够监听网络,获得A-B之间正在进行的连接的数据包。
接下来你需要分析并修改数据包,更改IP报头并猜测其中的递增量,然后发给主机A。但是,因为你是伪造的主机B,是不可能收到主机A的相关回复包的,也就是说到底是对是错,你也不知道,一切全盲。
不过就算这样,在Internet范围内伪造IP进行HTTP通讯也是不可行的,因为: 1. 从你的主机C到主机A有无数个网关和路由,如果正确配置,他们是不会转发一个可疑的IP包的 (比如你的伪造IP包就可疑,因为其IP报文的源地址不对应其子网内任何一台主机) 2. 以上的过程是在A-B连接已经建立的情况下讨论的,而HTTP协议的连接不会持续进行,特别是浏览论坛这种小文件的请求。也就是说,你必须从头到尾伪造主机B与主机A建立连接,而这,基本是不可能的.... (TCP连接的建立需要3次来回的握手,包含有需要互换的信息,而你的伪造主机B是不可能接受到的)
再次,就算你能够成功的实行IP欺骗.......其性质是和单单偷一个cookie完全不同的. -_- 首先你非法监听网络,然后实行了DoS攻击,最后又涉及了信息欺诈,这就是三重罪.......数罪并罚,足够判你20年不准接触任何电脑设备了.....
"这个又涉及到IP段变化后全部COOKIE失效的问题了"
你的IP段一年变化几次?现在网络发展的趋势就是ISP的大规模化和IP的固定化,等IPv6正式应用以后,全球每一颗沙子都会有一个IP(好像有点夸张,不过不是我原创的,据说有理论计算依据),到时候固定IP就是基本条件了。 |
- -
误会了……虽然我开发网络程序少,不过还不至于把IP从COOKIE提交。
我的意思是不将登陆IP存入数据库,COOKIE里面直接存放上次IP数据,然后给予现有IP进行对照。
所谓IP段变化……
我在寝室使用的IP是学校宿舍区公用的;在公司里面使用的IP是学校公司使用的,不过C段不同。这样我在寝室登陆一次得到的COOKIE,然后在公司登陆一次的话,寝室的COOKIE就会失效……
至于IPV6普及,还有段时间……