TCP会话劫持是一种TCP协议攻击技术,是在一次正常的TCP通信过程中,攻击者作为第三方劫持正常通信双方已经建立起来的TCP会话连接,以假冒其中一方(通常是客户端)的身份与另一方进行进一步通信。TCP会话劫持攻击这样做的目的是因为:通常一些网络服务(如telnet服务)会在建立TCP会话之后进行应用层的身份认证(通常是输入用户名和密码),客户端在通过身份认证后,在和服务器端的进一步通信过程中无需再次进行身份认证;而TCP会话劫持正是为攻击者提供了一种绕过应用层身份认证的攻击途径。
TCP会话劫持成功的关键是攻击者要能通过TCP协议对会话通信方的验证。要达到这个目的,攻击者必须完成两方面的事情。
(1)利用ARP欺骗、ICMP路由重定向攻击等技术,使得要攻击的网络通信经过攻击者控制的主机,从而结合网络嗅探技术获取到客户端和服务器之间通信的TCP序列号、确认号等信息。(www.daowen.com)
(2)根据获取的序列号、确认号等信息和TCP协议的工作原理,猜测出需要发送给服务器的数据包的正确序列号,从而假冒客户端的地址和身份,向服务器发送该数据包宣称自己就是正常的客户端,从而实现会话劫持。
之所以攻击者能够根据获取的序列号、确认号等信息猜测到服务器所需要的数据包的正确序列号,是因为TCP会话中,前后数据包的序列号和确认号之间是有联系的。具体来说,对于一台主机来说,其收到的前一个TCP报文和要发送的下一个TCP报文之间的序列号和确认号的关系是:它所要发送报文的序列号应该等于它所收到的前一个报文的确认号,而它所要发送报文的确认号应该为它收到的前一个报文的序列号加上该报文中所发送的TCP净荷的长度。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。