zoukankan      html  css  js  c++  java
  • Heartbleed心脏滴血漏洞总结(CVE-2014-0106)

    概述

          Heartbleed漏洞,也叫心脏滴血漏洞。是流行的OpenSSL加密软件库中的一个严重漏洞。这个弱点允许窃取在正常情况下被用来保护互联网的SSL/TLS加密保护的信息。SSL/TLS为网络、电子邮件、即时消息(IM)和一些虚拟专用网络(VPNs)等应用程序在互联网上提供通信安全和隐私。

          Heartbleed漏洞允许互联网上的任何人读取受OpenSSL漏洞保护的系统的内存。这就损害了用于标识服务提供者和加密通信、用户名和密码以及实际内容的秘钥。这允许攻击者窃听通信,直接从服务和用户那里窃取数据,并模拟服务和用户。

          所以Heartbleed漏洞存在的对象是OpenSSL,有的版本的OpenSSL存在Heartbleed是存在Heartbleed漏洞的,而有的版本是不存在的。不同版本Heartbleed漏洞存在情况如下:

    Heartbleed于2011年12月被引入到OpenSSL中,自OpenSSL于2012年3月14日发布1.0.1以来就一直存在。2014年4月7日发布的OpenSSL 1.0.1g修复了这个漏洞。

    漏洞详细说明见:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160

    漏洞危害

    Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。

    漏洞复现

    环境:Bee-box、kali linux

    工具:sqlmap、metasploit

    验证漏洞存在

    确定目标IP之后,可以用AWVS扫一下,是可以发现Heartbleed漏洞的。

    再用nmap的脚本扫一下目标,确定一下端口,验证漏洞确实存在。

    漏洞利用

    这里我直接用的kali的msf,可以直接调用它的heartbleed模块,实现Heartbleed漏洞的利用。

    打开kali,在命令行输入msfconcole:

    找到heartbleed模块。

    使用第一个选项,并且查看一下都需要设置哪些参数。

    设置一下RHOSTS,也就是目标IP。

    设置一下verbose参数为true,verbose为true才可以看到泄露的信息。

    exploit,查看结果,每次都可以获取64字节的信息,多exploit几次,就可能会得到一些网站的重要信息,比如用户的登录用户名以及密码。这样从每次得到的信息,总结一下,就可以得出用户的详细信息。

  • 相关阅读:
    4.2Python数据类型(2)之布尔类型
    4.1Python数据类型(1)之数值类型
    AvalonJS+MVVM实战部分源码
    数据库的总结
    面向对象的Java实现
    静态HTML总结
    JS总结
    JSP开发Web应用系统
    使用C#开发数据库应用程序
    深入.NET平台和C#编程
  • 原文地址:https://www.cnblogs.com/s1awwhy/p/13162213.html
Copyright © 2011-2022 走看看