分析两种实现SSL会话劫持的典型技术
本文由CSDN-蚍蜉撼青松【主页:http://blog.csdn.net/howeverpf】原创,转载请注明出处!
自SSL问世以来,在其应用范围越来越广泛同时,多种针对SSL协议本身的缺陷或者其不规范引用的SSL会话劫持方法也随之出现,下面将详细分析两种典型的SSL会话劫持的实现原理和实现条件。【读者如果想要参考SSL中间人的实际案例,可以阅读因特尔开发人员专区的这篇文章《针对SSL的中间人攻击》】
一、利用伪造的X.509证书
1.1 会话劫持原理
当SSL客户端与SSL服务端建立连接时,在正常的连接握手阶段,客户端必定会要求服务端出示其X.509公钥证书,并根据以下3个要素验证服务器证书的有效性:
a)该公钥证书的subject name(主题名)和所访问的服务器站点的名称是否一致;
b)该公钥证书的是否过期;
c)该公钥证书及其签发者证书链中的证书的数字签名是否有效(层层验证,一直验证到根CA证书为止)。
当SSL客户端访问一个基于HTTPS的加密Web站点时,只要上述三个要素有一个验证没有通过,SSL协议就会发出告警,大多数浏览器会弹出一个提示框,提示服务器证书存在的问题,但不会直接断开SSL连接,而是让用户决定是否继续。图1-1展示了IE浏览器弹出的安全警报提示框。