swgr's Blog

[course] TCP Exploit

今天做了security课的assignment 2里的problem 2,是关于TCP Exploit的。

简单说,就是一个在基于广播的LAN中(比如HUB结构的LAN)干扰别人正常TCP连接的东西。

例如,A和B在通过TCP正常地通信,攻击者C想要中断这个通讯。

于是C通过抓包得知了A和B的通信端口,然后伪装成其中一方(比如A)像另一方(比如B)发一个TCP的FIN包。

这时,B就会以为A想跟它断开TCP通讯,于是就给A发了FIN包,一来二去双方就断开了。

 

值得注意的是:

1. C抓包的时候其实不止是为了得知A和B的通信端口,更重要的是得知通讯过程中的seq号,这样才能正确发出FIN包而不被B拒绝。

2. A最后会给B发FIN包(因为它收到了B给它发的FIN包,以为B想跟自己断开了),但是这个FIN包的seq是不会被B接受的(因为B收到过来自C的FIN包,它以为是A发的,因此导致了双方计算中seq的不一致),因此,最后B会给A发一个RST包。




Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee