中间人攻击
中间人攻击其实已经超出了前端安全的范畴,应当属于网络安全,单以前端的技术无法完全防御中间人攻击。
中间人攻击
所谓的中间人攻击是指通过各种手段将一台攻击者控制的计算机放置在客户端与服务器的网络连接之间,从而达到监听数据或篡改数据的目的。
常见的中间人攻击手段有:
- DNS劫持
- 会话劫持
DNS劫持是指攻击者入侵DNS服务器,将域名解析到攻击者的服务器上,用户以为自己访问的是正常的网站,但是实际上访问的是攻击者的服务器。用户输入的所有信息都将被攻击者窃取。
会话劫持是指攻击者把自己插入到受害者和目标机器之间,从而窃听传输的数据或篡改数据。
总体而言攻击者能够攻击成功的原因有这几点:
- 客户端无法验证服务器身份(DNS劫持,攻击者的服务器冒充真正的服务器)
- http数据明文传输(会话劫持后信息很容易泄露)
- 数据无法校验,易被篡改(会话劫持后篡改数据)
这三个问题其实也是HTTPS要解决的问题,解决中间人攻击的最好手段是使用HTTPS
HTTPS可以解决三个问题:
- 报文明文传输易被窃听
- 报文易被篡改
- 目标服务器身份无法验证
具体见HTTPS 一章