心脏出血(Heartbleed)漏洞浅析、复现

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

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

一、漏洞介绍
心脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了软件中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过读,即可以读取的数据比应该允许读取的还多。
Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。
二、漏洞复现
靶机:centos7 192.168.81.136
攻击机:kali 192.168.81.135
确保两台测试机网络能通

使用docker+vulhub搭建漏洞环境,在centos7上搭建vulhub的步骤如下:
1、安装docker依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2、安装docker
yum install docker
3、启动docker
systemctl start docker
4、下载vulhub
https://github.com/vulhub/vulhub/archive/master.zip
5、找到heartbleed,并进入,输入命令docker-compose up -d运行漏洞环境
在这里插入图片描述
在这里插入图片描述

6、查看运行情况
在这里插入图片描述
7、打开kali,运行metaspolit
在这里插入图片描述
8、使用metasploit进行攻击
1)搜索相关漏洞模块儿
search Heartbleed
在这里插入图片描述
2)使用相关攻击模块
use auxiliary/scanner/ssl/openssl_heartbleed
在这里插入图片描述
3)查看需要配置的选项
Show options
在这里插入图片描述
4)对required为yes但是current setting为空的项进行设置,这里我们只需要设置rhosts(靶机ip)
set rhosts 192.168.81.136
在这里插入图片描述
5)开始攻击并查看结果,出现白框字样表示漏洞存在
Run
在这里插入图片描述
6)set verbose true#(设置verbose,这个设置要设置成true才能看到泄露的信息) 此设置主要是为了显示整个过程以及leak出来的数据
在这里插入图片描述
在这里插入图片描述
注意:1、关闭防火墙 2、关闭selinux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年7月16日 下午10:46
下一篇 2022年7月16日 下午10:46


相关推荐

  • Spring常用注解(绝对经典)

    Spring常用注解(绝对经典)最近在看 B 站颜群老师的课程 Javaweb gt spring gt springMVC gt mybatis gt spring 高级 一路走来 跌跌撞撞 发现 spring 也不过尔尔 说白了 spring 就是想尽办法将 new 做的更简单 更完美 更可配置 Spring 的一个核心功能是 IOC 就是将 Bean 初始化加载到容器中 Bean 是如何加载到容器的 可以使用 Spring 注解方式或者 SpringXML 配置方式 Spring 注解方式减少了配置文件内容 更加便于管理 并且使用注解可以大大提高了开发效

    2026年3月20日
    1
  • 人人工势场法

    人人工势场法人工势场法是局部路径规划的一种比较常用的方法。这种方法假设机器人在一种虚拟力场下运动。一、简介如图所示,机器人在一个二维环境下运动,图中指出了机器人,障碍和目标之间的相对位置。 这个图比较清晰的说明了人工势场法的作用,物体的初始点在一个较高的“山头”上,要到达的目标点在“山脚”下,这就形成了一种势场,物体在这种势的引导下,避开障碍物,到达目标点。

    2022年6月15日
    28
  • 51单片机课程设计——led点阵广告牌程序设计

    51单片机课程设计——led点阵广告牌程序设计上学期期末的课设题目是 led 点阵广告牌 当时的要求如下 1 能够显示不同字符的 LED 点阵广告牌 2 按键切换不同的显示效果 如闪烁 静止 平移等 3 按键切换不同的显示内容 4 能够显示图形或自定义字符 5 其他功能 创新部分 6 系统调试 分析 总结与功能实现 当时用的是我用是的普中科技的 STC89C51RD 的单片机 不过只要是 51 单片机 换哪个 51 内核的芯片都可

    2026年3月19日
    1
  • 反射和动态实例化

    反射和动态实例化

    2021年7月20日
    57
  • 我的Linux内核学习之路

    我的Linux内核学习之路现在回首看看,接触Linux已经很长时间了。在大三的时候开始学习Java,但是一直学Java的话,感觉有点腻,就尝试找点其他东西来学习。所以当时就选择学习了Linux。至于为什么要学习Linux,有以下三个原因。 一是我比较喜欢开源的东西,当时学习Java就是因为它开源,以后选择学习Android很大一部分原因也是因为它开源。现在已经工作了大半年,每当有搞不懂的问

    2022年7月23日
    12
  • 基于Spring Cloud项目实战

    (2018年10月2日,从git上移到这里)通过案例学习了基于Springcloud进行web微服务项目的开发,干货很多。Springcloud体系提供了完整的微服务开发的解决方案,整合了多个优秀组件,能够很好的帮助我们提高开发效率。在此做以下总结。SpringCloud简介SpringCloud是一个基于SpringBoot实现的微服务架构开发工具。它…

    2022年4月6日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号