📜  会话劫持

📅  最后修改于: 2021-10-22 02:53:17             🧑  作者: Mango

什么是会话劫持?
TCP 会话劫持是对受保护网络上的用户会话的安全攻击。最常见的会话劫持方法称为 IP 欺骗,攻击者使用源路由 IP 数据包将命令插入网络上两个节点之间的活动通信中,并将自己伪装成经过身份验证的用户之一。这种类型的攻击是可能的,因为身份验证通常只在 TCP 会话开始时进行。

另一种会话劫持被称为中间人攻击,攻击者可以使用嗅探器观察设备之间的通信并收集传输的数据。

会话劫持的不同方式:

    有很多方法可以进行会话劫持。其中一些在下面给出——
    • 使用数据包嗅探器

      从上图中可以看出,攻击通过一些数据包嗅探器捕获受害者的会话 ID 以获取对服务器的访问权限。

    • 跨站脚本(XSS 攻击)
      攻击者还可以使用 javascript 使用 XSS 攻击捕获受害者的会话 ID。如果攻击者向受害者发送带有恶意 JavaScript 的精心设计的链接,当受害者单击该链接时,JavaScript 将运行并完成攻击者的指令。
      
      

    • IP欺骗
      欺骗是假装是别人。这是一种用于通过受信任主机的 IP 地址未经授权访问计算机的技术。在实现这种技术时,攻击者必须获取客户端的IP地址,并将自己的伪装成客户端IP地址的数据包注入到TCP会话中,以欺骗服务器,它正在与受害者即原始主机进行通信。
    • 盲目攻击
      如果攻击者无法嗅探数据包并猜测服务器期望的正确序列号,则可以尝试暴力序列号组合。

    减轻

    为了通过会话劫持来防御网络,防御者必须在应用程序级别和网络级别实施安全措施。网络级劫持可以通过对数据包进行加密来防止,这样劫持者就无法破译数据包头,从而获取任何有助于欺骗的信息。这种加密可以通过使用诸如 IPSEC、SSL、SSH 等协议来提供。 Internet 安全协议 (IPSEC) 能够根据参与通信的两方之间的某个共享密钥对数据包进行加密。 IPsec 以两种模式运行:传输和隧道。
    在传输模式下,只对包中发送的数据进行加密,而在隧道模式下,包头和数据都被加密,因此限制性更强。

    会话劫持是对网络和 Web 上的 Web 应用程序的严重威胁,因为大多数系统都容易受到攻击。

    来源;

    • https://www.owasp.org/index. PHP/Session_hijacking_attack
    • https://en.wikipedia.org/wiki/Session_hijacking
    • http://www.infosecwriters.com/text_resources/pdf/SKapoor_SessionHijacking.pdf
    • https://www.owasp.org/images/c/cb/Session_Hijacking_3.JPG
    • https://www.owasp.org/images/b/b6/Code_Injection.JPG