当前位置: 技术问答>linux和unix
修改第三次ACK,实现源IP欺骗.
来源: 互联网 发布时间:2016-03-14
本文导语: 【目的】实现应用层源IP欺骗。欺骗服务器上HTTP对源IP的判断,实现“疯狂投票”! 【原理】 靠验证源IP限制恶意投票的投票程序,在大家投票的时候记录你的IP地址,当你再次投票的时候他对照他记录的IP信息库,...
【目的】实现应用层源IP欺骗。欺骗服务器上HTTP对源IP的判断,实现“疯狂投票”!
【原理】
靠验证源IP限制恶意投票的投票程序,在大家投票的时候记录你的IP地址,当你再次投票的时候他对照他记录的IP信息库,禁止你再次投票。
我想了一种没有经过验证的方法,不知道是否可行。希望大家都来讨论,并验证。
一般的投票方式,都是访问一个固定的URL连接。只要访问这个连接,就能够投票成功。但是由于IP的限制,导致不能重复投票。
为了破解其限制,我们编程,利用原始的Socket方式。
1。 提交正常的第一次握手信号:SYN。
2。 接收服务器返回的握手和确认信号:SYN+ACK。
3。 生成经过伪装了源IP的:ACK。(回送给服务器,并请求投票页面。)
关键地方在于:获得步骤 2 中,服务器发过来的 SYN 序号,并根据这个序号生成步骤 3 中修改了源IP,并附加了数据“GET / HTTP/1.1”的ACK。(TCP有个特性是,可以在回应ACK中捎带数据)。
通过上诉步骤应该可以实现IP欺骗,并能实现高层的欺骗,而且防火墙也不会挡的。一般的DOS程序经过修改就可以实现。
该想法主要是在确立第三次连接的时候才进行欺骗。
也许不用在第三次连接的时候进行欺骗。可以在3次以后,进行欺骗。但是必须得到服务器SYN的序号。
不知道我这个想法是否行的通,各位大大帮忙论证一下啊。
【原理】
靠验证源IP限制恶意投票的投票程序,在大家投票的时候记录你的IP地址,当你再次投票的时候他对照他记录的IP信息库,禁止你再次投票。
我想了一种没有经过验证的方法,不知道是否可行。希望大家都来讨论,并验证。
一般的投票方式,都是访问一个固定的URL连接。只要访问这个连接,就能够投票成功。但是由于IP的限制,导致不能重复投票。
为了破解其限制,我们编程,利用原始的Socket方式。
1。 提交正常的第一次握手信号:SYN。
2。 接收服务器返回的握手和确认信号:SYN+ACK。
3。 生成经过伪装了源IP的:ACK。(回送给服务器,并请求投票页面。)
关键地方在于:获得步骤 2 中,服务器发过来的 SYN 序号,并根据这个序号生成步骤 3 中修改了源IP,并附加了数据“GET / HTTP/1.1”的ACK。(TCP有个特性是,可以在回应ACK中捎带数据)。
通过上诉步骤应该可以实现IP欺骗,并能实现高层的欺骗,而且防火墙也不会挡的。一般的DOS程序经过修改就可以实现。
该想法主要是在确立第三次连接的时候才进行欺骗。
也许不用在第三次连接的时候进行欺骗。可以在3次以后,进行欺骗。但是必须得到服务器SYN的序号。
不知道我这个想法是否行的通,各位大大帮忙论证一下啊。
|
可能不行,很多TCP/IP的实现,在取包的时候,根据源ip、源port、目的ip、目的port判断一个TCB(传输控制块),
如果你步骤3中修改了源IP,在服务端就不能匹配TCB了,会被扔掉,并且服务短发一个RST过来。
如果你步骤3中修改了源IP,在服务端就不能匹配TCB了,会被扔掉,并且服务短发一个RST过来。
|
我写的TCP模块就是这么处理的,
看具体实现了,有些协议栈为了加快速度,可能不会精确匹配。你可以试试。
看具体实现了,有些协议栈为了加快速度,可能不会精确匹配。你可以试试。