open-SSL心脏滴血漏洞

在客户端和服务端建立了TLS加密连接状态后,需要隔一段时间来发送心跳数据包来确保对端是否在线

具体做法是客户端发送Client Hello 数据包,服务端返回Server Hello数据包

image-20201104193031442

在client hello 数据包中有个字段length询问字符长度,当length的值大于实际数据包大小时,服务端还是会返回length大小的数据,就导致服务端内存信息的越界访问

理论上攻击者一次最多可以读取64kb数据,若其中包含账号密码等敏感信息则会造成危害

复现

直接用docker搭建

cd ~/vulhub/openssl/heartbleed
docker-compose build
docker-compose up -d

image-20210526142336018

通过nmap的 ssl-heartbeat.nse脚本探测目标是否存在漏洞

image-20210526142520565

用msf利用漏洞

image-20210526142556198

读取内存泄漏的数据

image-20210526142637861

版权声明:本文为cjz12138原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/cjz12138/p/14993891.html