一、      1.Heartbleed漏洞是什么

Openssl在处理心跳包的时候检测漏洞,没有检测payload与实际的数据字段是否匹配,造成最大64KB的内存泄漏

2.基本背景和影响

OpenSSL是SSL协议以及一系列加密算法的开源实现,使用C语言编写。OpenSSL采用Apache开源协议,可以免费用于商业用途,在很多linux发行版和服务器中得到广泛应用。OpenSSL出现漏洞造成的影响是巨大的,Heartbleed漏洞被称作“历史上最为严重的网络安全漏洞”

二、      分析漏洞原理

1.   源码中的哪些地方出了问题

/* Read type andpayload length first */

hbtype = *p++;

n2s(p, payload);

pl = p;

第一个字节标明了心跳包的类型。宏n2s从指针p指向的数组中取出前两个字节,并把它们存入变量payload中——这实际上是心跳包载荷的长度域(length)。但是程序并没有检查这条记录的实际长度。变量pl则指向由访问者提供的心跳包数据。

*bp++ =TLS1_HB_RESPONSE;

s2n(payload, bp);

memcpy(bp, pl,payload);

在生成响应包的时候,bp指向了缓冲区,s2n是将bp所指向内存的16个字节存为双字节的值,并存入变量payload,然后然后程序从pl处开始复制payload个字节到新分配的bp数组中(这里会发送内存中的敏感数据)——pl指向了用户提供的心跳包数据。最后,程序将所有数据发回给用户

2.   从poc中哪里可以体现出漏洞,poc又怎样利用了漏洞?

hb = h2bin('''

18 03 02 00 03

01 40 00

''')

这是个ssl的心跳包的request请求,01代表request,40000是payload变量的值,2的14次方,但是后面的payload和padding都没有存任何数据,等着从内存中dump出一些信息

三、      漏洞的复现和利用

1.   安装配置openssl,1.0.1c版本

在/usr/local/下建立一个文件夹ssl,将.gz文件解压后编译在该文件夹下

./configure–prefix=/usr/local/ssl

make&& make install

由于现在安抚dnf 安装的openssl版本都修补了这个漏洞,所以编译安装以前存在漏洞的openssl版本,然后在/etc/profile下修改openssl的环境变量

2.   安装apache,,实现apache和openssl连接,apache版本2.2.34

在/usr/local下创建文件夹httpd,在httpd文件夹下创建aprapr-util apache三个文件夹

安装apache的时候在./configure的时候就把ssl组件添加进去,

安装apr和apr-util两个支持组件

安装apr

将apr编译到/usr/local/httpd/apr下

./configure --prefix=/usr/local/httpd/apr

make

make install

安装apr-util

./configure --prefix=/usr/local/httpd/apr-util/--with-apr=/usr/local/httpd/apr

Make && make install

安装apache

./configure --prefix=/usr/local/httpd/apache--enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl--with-apr=/usr/local/httpd/apr --with-apr-util=/usr/local/httpd/apr-util

Make && make install

修改配置文件

3.    成证书,

生成server.crt 和server.key,将证书放在/usr/local/httpd/apache/conf

重启apache

登陆https://127.0.0.1:443

4.    利用poc进行攻击,实现预期目标

5.    Heartbleed的漏洞风险是攻击者可以利用payload和真实有效载荷不匹配的漏洞,从内存窃取机密信息,丢失数据

四、      使用openvas对漏洞扫描

五、      总结

1.    明白了环境变量的配置过程,熟悉了profile文件 environment文件 bashrc文件 ~/profile 文件 ~/bashrc文件在配置环境变量时的作用

2.    Apache添加ssl的过程

先添加ssl组件,再修改apache的配置文件,再生成ssl需要的server证书和密钥

仅实验 谨实验

Heartbleed漏洞的复现与利用相关推荐

  1. Redis未授权访问漏洞的重现与利用

    前言: 最近配置openvas的时候安装了redis,听说曾经曝出过一个未授权访问漏洞,便找了一下相关资料想自己动手复现一下漏洞的利用过程,当然所有的攻击性操作都是在虚拟机上完成的,本文所有的操作是在 ...

  2. ms08_067,ms10_046漏洞复现与利用

    ms08_067,ms10_046漏洞复现与利用 一:ms08_067 主机扫描 通过nessus扫描网段内存活的主机,发现192.168.206.142该靶机并且时xp而且开启了445端口,考虑使用 ...

  3. 心脏滴血漏洞详解及利用--HeartBleed With OpenSSL

    [事件规则] OpenSSL"心脏出血"漏洞是一个非常严重的问题.这个漏洞使攻击者能够从内存中读取多达64 KB的数据.也就是说,只要有这个漏洞的存在,在无需任何特权信息或身份验证 ...

  4. 漏洞复现-webmin漏洞系列分析与利用

    webmin漏洞系列分析与利用 Webmin 远程代码执行CVE-2022-0824 编号CVE编号:CVE-2022-0824 影响版本 漏洞简介 复现 拉取漏洞镜像 启动漏洞环境 解决方案 POC ...

  5. tomcat ajp协议安全限制绕过漏洞_Apache Tomcat文件包含漏洞(CVE20201938)复现

    一.漏洞背景2020年02月20日,国家信息安全漏洞共享平台(CNVD)发布了关于Apache Tomcat文件包含漏洞(CVE-2020-1938/CNVD-2020-10487)的安全公告.Tom ...

  6. OpenSSL的Heartbleed漏洞原理及简单模拟

    Heartbleed漏洞 自从Heartbleed漏洞曝光以来,网上能看到很多相关的文章,但大部分都是写的云里雾里,本文尝试直观明了的对漏洞原理进行说明及模拟. OpenSSL是SSL协议以及一系列加 ...

  7. nginx解析漏洞简单复现及修复

    Nginx简介 Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占内存小.并发能力强:国内使用Nginx的有百度.京东.新浪.网易.腾讯.淘宝等 ...

  8. MessageSolution 邮件归档系统EEA 信息泄露漏洞 CNVD-2021-10543复现

    MessageSolution 邮件归档系统EEA 信息泄露漏洞 CNVD-2021-10543复现 一.简介 MessageSolution企业邮件归档管理系统 EEA是北京易讯思达科技开发有限公司 ...

  9. 关于HeartBleed漏洞的总结

    一:前言 Heart Bleed漏洞又称为心脏出血漏洞,编号(CVE-2014-0160),产生原因:由于未能在memcpy()调用受害用户输入的内容作为长度参数之前正确进行边界检查.攻击者可以追踪O ...

最新文章

  1. Linux Test Project 测试套件说明
  2. 【深度学习理论】通俗理解生成对抗网络GAN
  3. HTML中的link的简单介绍和用法
  4. Lesson 6.5Lesson 6.6.1Lesson 6.6.2 机器学习调参基础理论与网格搜索多分类评估指标的macro与weighted过程GridSearchCV的进阶使用方法
  5. ssh免密登录(普通用户和root用户)
  6. 【语义分割】Fully Attentional Network for Semantic Segmentation
  7. Oracle教程之oracle 给用户授权
  8. TCP的定时器系列 — 超时重传定时器(有图有代码有真相!!!)
  9. 3类代码安全风险如何避免?
  10. ssm框架数据查询一直为null
  11. Nginx+Tomcat代理环境下JS无法完全加载问题
  12. 浅谈闪电网络的可行性
  13. (大数据工程师学习路径)第三步 Git Community Book----基本用法(下)
  14. winrar解压器_今日软件 | 马冬梅下载器、微软OFFICE、安卓超级备份、安卓原生启动器、高颜值音乐播放器、WinRAR、雷鸟下载、动态壁纸...
  15. word2016 删除页眉横线
  16. 关于企业工业控制系统的网络安全保护设计方案
  17. 【R语言数据科学】(十三):有趣的概率学(下)
  18. 关于GNS3常用命令
  19. sql Mirroring
  20. VAE(变分自编码器)原理简介

热门文章

  1. 下载的视频如何去除水印?
  2. 使用计算机断开终端连接,“由于终端连接目前正在忙于处理一个连接断开连接复位或删除操作...
  3. ug绘图中如何把曲面变成实体?
  4. 【vulhub】Struts2 S2-059 远程代码执行漏洞(CVE-2019-0230)
  5. 阿里云AI语音技能开发训练营第二天
  6. Arduino 数码管LED屏驱动
  7. 跟客户谈判的时候尽力而为如果最后亏本还谈不下那就放弃
  8. LilyPond教程(7)——流行乐曲 I
  9. abb机器人泄流电阻在哪里_福建ABB IRB5400机器人泄流电阻
  10. 【2011.12.10普及模拟】泽泽在埃及题解