心脏滴血漏洞详解及利用--HeartBleed With OpenSSL

article/2025/11/9 14:28:00

【事件规则】

OpenSSL“心脏出血”漏洞是一个非常严重的问题。这个漏洞使攻击者能够从内存中读取多达64 KB的数据。也就是说,只要有这个漏洞的存在,在无需任何特权信息或身份验证的环境下,我们就可以从我们自己的(测试机上)偷来X.509证书的私钥、用户名与密码、聊天工具的消息、电子邮件以及重要的商业文档和通信等数据。

OpenSSL漏洞分析

最初人们为了网络通信安全,就开始使用安全协议进行加密通信,SSL(Secure Socket Layer)就是一种安全协议。随着开源软件的流行,有人写了一款叫  OpenSSL  的开源程序供大家方便地对通信进行SSL加密,后来这款软件便在互联网中被广泛应用。我们在浏览器地址栏常见的 https 前缀的网址以及那把小锁图标,通常就是指该网站经过 SSL 证书加密。

 

OpenSSL 有一个叫 Heartbeat (心跳检测)的拓展,问题就出在这个拓展上,这也是漏洞被命名为“心脏出血”的直接原因。

 

所谓心跳检测,就是建立一个  Client Hello 问询来检测对方服务器是不是正常在线 ,服务器发回 Server hello,表明正常树立SSL通讯。就像我们打电话时会问对方 “喂听得到吗?”一样。

 

每次问询都会附加一个问询的字符长度 pad length,bug 来了,如果这个 pad length 大于实际的长度,服务器仍是会回来相同规模的字符信息,于是形成了内存里信息的越界访问。

 

就这样,每发起一个心跳,服务器就能泄露一点点数据(理论上最多泄露  64K),这些数据里可能包括用户的登录账号密码、电子邮件甚至是加密秘钥等信息,也可能并没有包含这些信息,但攻击者可以不断利用 “心跳”来获取更多的信息。就这样,服务器一点一点泄露越来越多的信息,就像是心脏慢慢在出血,心脏出血漏洞的名字由此而来。

 

这里通过一张图来展现一下:

由于互联网应用最广泛的安全传输方法就是 SSL,而 Open SSL 又是多数 SSL 加密网站使用的开源软件包,所以漏洞影响范围广大,一时间席卷全球各个互联网相关领域,网银、在线支付、电商网站、门户网站、电子邮件等无一幸免。

 

通过以上分析我们可以看见,OpenSSL心脏出血漏洞(heartbleed)的产生主要由于OpenSSL的心跳处理逻辑没有检测心跳包中的长度字段是否和后续字段相吻合导致攻击者构造异常数据包,来直接获取心跳数据所在的内存区域的后续数据。主要特征有:

  • heartbleed漏洞主要存在于有心跳机制的OpenSSL协议中。
  • IANA组织把开启心跳扩展机制的SSL数据包type类型定义为24(0x18)。
  • heartbleed漏洞主要存在于TLS和DTLS两种协议中,在含有heartbleed漏洞的OpenSSL协议中需要开启心跳扩展机制(beartbeat),而含有心跳扩展机制的TLS版本主要包含在0(0x0301),TLSv1.1(0x0302),TLSv1.2(0x0303)三种版本中。
  • heartbleed漏洞攻击主要由于攻击者构造异常的心跳数据包,即心跳包中的长度字段与后续的数据字段不相符合,来获取心跳数据所在的内存区域的后续数据。

其一般的攻击流程如下图所示:

利用该漏洞,攻击者可以远程读取服务器内存中64K的数据,获取内存中的敏感信息。

漏洞利用
1)使用shodan搜索引擎搜索站点

在这里插入图片描述2)打开Metasploit,启动msf。然后使用 auxiliary/scanner/ssl/openssl_heart_bleed功能。

在这里插入图片描述3)执行run命令,运行扫描器,查看结果,可以看到有Heartbeat response with leak的字样,证明该站存在HeartBleed漏洞

在这里插入图片描述4)开启信息展示,进行利用。

在这里插入图片描述在这里插入图片描述

在这里插入图片描述4、漏洞修复

建议升级openssl。此外,做如下措施。

  1. 修改服务器密码
  2. 重新配置私钥
  3. 重新配置证书

http://chatgpt.dhexx.cn/article/hoH07tuI.shtml

相关文章

Says Of Heart!

心得: 步入大学生活已经两个多月了,在这期间,我面试过班委,面试过学生会,面试过小组,分别获得了不同的经验与感受,这使我收获颇多。 之前的我,是一个不爱参加任何活动的一…

Heartbleed漏洞的复现与利用

一、 1.Heartbleed漏洞是什么 Openssl在处理心跳包的时候检测漏洞,没有检测payload与实际的数据字段是否匹配,造成最大64KB的内存泄漏 2.基本背景和影响 OpenSSL是SSL协议以及一系列加密算法的开源实现,使用C语言编写。OpenSSL采用Ap…

Heart bleed 漏洞源码与过程解析

Heartbleed漏洞,这项严重缺陷(CVE-2014-0160)的产生是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存…

OpenSSL 心脏滴血漏洞(CVE-2014-0160)漏洞讲解(小白可懂,简单详细)

Heartbleed 心脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了软件中…

码元

码元:固定时长的信号波形,代表不同离散数值的基本波形(码元可以理解为一种信号) 固定时长中的时长可以称为码元宽度,如下图 上图信号只有0、1两种状态(1个码元携带0或1 1个码元携带1bit的信息量) 所以是二进制…

候选码、主码、外码、全码、超码

文章目录 1.候选码2.主码主属性非主属性 3.外码4.全码5.超码6.总结: 1.候选码 定义:能唯一标识关系中元组的一个属性或属性集。 2.主码 从多个候选键中选择一个作为查询、插入或者删除元组的操作变量,被选用的候选码称为主码。 每个关系必…

数据库系统--码,超码,候选码,主属性,非主属性,主码,全码,外码基本概念

当然,上述只针对学生这一个关系。若涉及参照关系还要引入外码(Foreign Key) ,A关系的其中一个属性同时是B关系的主码,那么该属性则是A关系的一个外码,参照B关系。

主属性,范式,超码,码,非主属性,全码

整个属性住都是码,则是全码 all-key STUDENT(Sno,Sname,Grade,Mname) 黄色(Sno,Sname)是码,也称主码,候选码(最小单元) 黄色区域Grade/Mname是超…

码元与码点

码元与码点 JavaScript字符串使用了两种Unicode编码混合的策略:UCS-2和UTF-16。对于可以菜哦也能够16位编码的字符(U0000~UFFFF),这两种编码实际上是一样的。(《JavaScript高级程序设计》) 关于码元和和码点…

数据库系统概论第六章(关系数据理论)知识点总结(2)—— 码的概念总结

本专栏收录了数据库的知识点,而从本文起,将讲述有关于关系数据理论中的第一范式、第二范式、第三范式以及BC范式有关知识点,提供给有需要的小伙伴进行学习,本专栏地址可以戳下面链接查看 🎈 数据库知识点总结&#xff…

Code128一维码(解码)

由于最近在弄一个用Winform实现基于"博斯得"打印机实现打印预览的玩意遇到了几个问题。 在打印条码的时候实际打印的条码长度和预览差距很大于是就查网上查了一下资料熟悉了一下条形码的构成和解读,往下看 认识Code128编码规则 依次是 : 禁止区…

数据库-超码、候选码、主码

超码(superkey)绝对算得上计算机术语中翻译以后看起来更复杂的一个典型。 超码和码其实没有任何关系,它本质上是一组属性的集合。这一组集合可以唯一的标识出一个元组,就是说不同元组的超码中的属性是不全相同的。 表中的一行就是…

计算机中常用的三种码制,码制

码制 1.数字系统 用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。人类已经进入到了数字时代,数字系统在我们日常生活中愈发重要,并广泛应用于通信、商贸、交通控制、航空航天、医疗…

一文搞懂候选码、主码、全码、外码、主属性、主键、主关键字、非主属性清晰总结

👏作者简介:大家好,我是Rockey,不知名企业的不知名Java开发工程师 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 📝联系方式:he18339193956&…

DevExpress 控件使用菜单栏之BarManager

DevExpress 开发的控件有很强的实力,不仅功能丰富,应用简便,而且界面华丽,更可方便定制。对于编程人员来说是个不错的选择。它的菜单栏控件更具代表,完全可以替代开发环境提供的基本控件,而让您编写的程序或软件更显专业化。它还提供完善的帮助系统,资料详尽,可以快速入…

组件,控件,用户控件

在学习这部分时产生了一些疑问,下面是根据我搜罗来的资料得出的一点浅薄的见解。 其实从字面上已经可以理解各自的不同了。但是具体关系其实是从类的继承上来区别的。一般控件派生于:Control类,所以从此类派生出的称之为控件。一般组…

WinCC报表控件

1、背景 WinCC实现报表历来是老大难,自带的报表功能不好使,主要在于配置麻烦,可视化又很差,而又没有好用的第三方控件。虽然网上也有很多实现报表的方法,但是毫无例外的要求使用者具有脚本编程功底,HwDataReport的出现将终结这一现象。您无需一行脚本即可完成WINCC报…

三款ActiveX图表控件对比评测 Pro ActiveX、ProEssentials、ChartDirector

原文转载自慧都控件网:http://www.evget.com/zh-CN/Info/catalog/18101.html 图表控件在现在的商业化应用中已经非常的常见了,随便打开一个网站,图表比比皆是。在自己的开发项目中,选对了好的图表控件将会对自己的项目起到画龙点…

6.1 传统控件

在上一课的表5.1已经列出了Windows的传统控件及其对应的控件类。在这些控件中,读者应该重点掌握命令按钮、选择框、单选按钮、编辑框、列表框和组合框。 .1.1 传统控件的控件通知消息 控件通过向父窗口发送控件通知消息来表明发生了某种事件.例如&#…

DevExpress 控件使用之BarManager

DevExpress 开发的控件有很强的实力,不仅功能丰富,应用简便,而且界面华丽,更可方便定制。对于编程人员来说是个不错的选择。它的菜单栏控件更具代表,完全可以替代开发环境提供的基本控件,而让您编写的程序或…