OpenSSL Heartbleed漏洞(CVE-2014-0160)简要分析和检测

1.漏洞简介

CVE官网上有这个漏洞的简要介绍、影响范围以及相关文章的索引:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160。大致的意思就是说openssl在接收到client发送的Heartbeat Packet(心跳包)的处理过程出现问题,导致了处理这个数据包指针之后的最大16KB内存信息泄露。如果是处理某些敏感数据的进程,那么会导致敏感信息的泄露。

2.Heartbeat Packet简介

Heartbeat扩展是TLS在1.0.1之后才引入的,目的是用于安全的长连接,不必要每次发送数据之前都需要重新建立连接。定义的RFC文档在http://www.rfc-editor.org/rfc/rfc6520.txt。Heartbeat的数据包结构为,分别为packet类型(request或response)、payload的长度,生成的payload,补充的padding:

struct {
   HeartbeatMessageType type;
   uint16 payload_length;
   opaque payload[HeartbeatMessage.payload_length];
   opaque padding[padding_length];
} HeartbeatMessage;

为了达到长连接的目的,客户端先自己生成一个payload(可以是任意字符串),然后构造对应的request包发送给服务器,接着服务器返回同样的payload表示目前还处于链接状态,这样一个来回之后客户端和服务端都能继续进行数据传输。知乎上余弦的回答http://zhi.hu/1pr9中的这幅图可以很容易了解这个过程:

这里写图片描述

3.漏洞测试

首先是搭建测试环境,服务器端:CentOS 6.0,openssl 1.0.1e,一个server进程;客户端:一个python poc文件。

服务器端首先需要生成证书,过程参考:http://blog.chinaunix.net/uid-20539097-id-64403.html。然

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值