4月8号,公开的Heartbeat 漏洞,对于这个漏洞听说是今天以来最大漏洞,可以获得服务器内存最多64KB数据,可能包括私人重要的信息。自己也对这个漏洞感兴趣,之后就做了这面的了解,并在漏洞修补之前,用openssltest.py进行了测试,在有漏洞的网站,真的可以获得…………………… 下面是通过资料,对其中涉及到的原理,和查看openssl源代码做了简要的分析。
本文主要从下面几个点讲解:
1、Heartbleed漏洞及漏洞发生的原因
2、SSL/TLS/DTLS协议简单的认识
3、TLS的扩展Heartbeat协议认识
4、heartbeat协议实现代码解读
5、实现一个网站支持SSL协议(生成一个伪证书)
1、Heartbleed漏洞及漏洞发生的原因
Heartbleed漏洞藏身于OpenSSL的TLS Heartbeat扩展当中:这是一项持续作用型功能,其中一个连接端会向另一端发送任意数据的有效负载,对方则发回对应数据的精确副本以确保传输过程一切正常。而在实现这个过程中,由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。
网上资料显示在