2021-12-05

OpenSSL Heartbleed Vulnerability (CVE-2014-0160)

一 什么是心脏滴血漏洞

    心脏出血漏洞”是指openssl这个开源软件中的一个漏洞,因为该软件使用到一个叫做heartbeat(中文名称为心跳)的扩展,恰恰是这个扩展出现了问题,所以才将这个漏洞形象的称为心脏滴血漏洞。

二 什么是ssl

    OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。下图是知名的心脏滴血漏洞图片。


心脏滴血漏洞

三  漏洞描述

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

四 漏洞危害

   可能可以获取到服务器的私钥,用户cookie和密码等。

五 漏洞复现详解

1 首先打开vulhub 启动docker环境 docker-compose up -d 如图所示

启动

2 然后打开http://192.168.213.129  看到如下界面 hello

hello

3  使用nmap 的脚本进行检测漏洞是否存在。nmap -sV -p 443 --script ssl-heartbleed.nse 127.0.0.1如下图所示 

检测漏洞

4 使用msf进行漏洞利用。我们打开msf 查找heartbleed模块:如下图所示  #msf>search heartbleed

查找heartbleed模块:

5 查看需要设置哪些选项      msf6 auxiliary(scanner/ssl/openssl_heartbleed)> show options

这里我们需要设置RHOSTS,RPORT  设置verbose,这个设置要设置成true才能看到泄露的信息

具体如下图所示

查看选项

6  执行exploit 会得到结果 如下图所示 这就是整个漏洞复现过程 

结果

六 漏洞修复

1.将受影响的服务器下线,避免它继续泄露敏感信息。

2.停止旧版的 openssl 服务,升级 openssl 到新版本,并重新启动。

3.生成新密钥。(因为攻击者可能通过漏洞获取私钥。)将新密钥提交给你的CA,获得新的认证之后在服务器上安装新密钥。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 HTTPS是什么相信大家都知道,如果你不知道。。。请关闭此文!!!HTTP的数据是明文传输的,没有安全性可言...
    MxlZlh阅读 6,534评论 0 9
  • 漏洞范围: OpenSSL1.0.1版本 漏洞成因: Heartbleed漏洞是由于未能在memcpy()调用受害...
    萨满原子阅读 3,582评论 1 0
  • 来势汹汹的疫情又再次席卷徐州,为了学生和我们的安全,只好停课在家做好预防,我们数学组的任务也随之而来,我们六...
    西苑小学刘蕊阅读 294评论 0 0
  • 读《如何阅读一本书》有感。 感谢螺丝的推荐,为数不多的难得的好书之一。 不得不提我奉行的又一个原则: 工欲善其事,...
    284d1fc60c87阅读 138评论 0 1
  • 我所喜欢的,是能够通过你,看到我的理想,的你。 最近fgo开卢屋道满池,个人又开始追蓝色时期。 对相似的角色...
    204a3974c8c9阅读 198评论 0 1