SSLv3 POODLE 攻击分析

SSLv3 POODLE 攻击分析

攻击场景:

(攻击场景有点苛刻!)

如A和C通信,攻击者需作为中间人B,B还得可以通过JS脚本操作A发送SSL3的请求(B可以是一个基于JS的代理请求),并可以窃取A发送到C的SSL密文。然后通过CBC模式的Padding Oracle攻击还原加密中的cookie。

攻击原理:

CBC解密过程为:(图片转自wiki)

SSLv3是采用末尾填充机制,块大小一般8字节或者16字节,最后一个块为填充块。且SSLv3没有规定padding填充块字节的内容,只校验填充块最后一个字节。

我们以8字节为例:

假设密文块为:

C0,C1,C2 ... Cn

解密为:

P1,P2,P3 .. Pn

最后一个填充块填充数据为:*******7

则服务器解密后会检测Pn末尾字节是否为7。

攻击者利用这个原理,把密文块中任意一块Ci 覆盖最后一个填充块 Cn ,发送到服务器检测最后一个字节是否为7,只要服务器检测成功,就可以通过如下公式,反推出Ci 块最后一个字节的明文。

=======================

证明如下:(Ci 覆盖 Cn)

Pn [7] = Dk (Ci[7] ) xor Cn-1[7] = 7

推出:

Dk(Ci[7]) = Pi[7] xor Cn-1[7] = 7 xor Cn-1[7]

则:

Pi[7] = Dk(Ci[7]) xor Ci-1[7] = 7 xor Cn-1[7] xor Ci-1[7]

因为作为中间人,C1,C2...Cn所有密文攻击者是知道的,则可得Pi[7]这个字节的明文。

========================

为了解密cookie,攻击者B需要能控制A发送构造HTTP请求,满足:

(1)Padding是填充后面一整个块

(2)要解密的cookie字节刚好在Ci块的最后一个字节

然后劫持A发送到B的SSL密文,把Ci 块覆盖到 Cn 块,发送到服务器,一般来说有1/256概率服务器会验证通过。

接下来,因为解密窗口只有一个,攻击者要做的就是构造HTTP请求路径长度,如 GET / ,GET/a,GET/aa ... 把需要解密的字节顶到解密窗口,每次解密一个字节需要发送256个请求。

参考:

(1)https://www.imperialviolet.org/2014/10/14/poodle.html

(2)http://googleonlinesecurity.blogspot.nl/2014/10/this-poodle-bites-exploiting-ssl-30.html

(3)https://www.openssl.org/~bodo/ssl-poodle.pdf

时间: 2024-10-06 21:11:34

SSLv3 POODLE 攻击分析的相关文章

SSLv3 Poodle攻击漏洞检测工具

漏洞编号:CVE-2014-3566 POC如下: import ssl,socket,sys SSL_VERSION={    'SSLv2':ssl.PROTOCOL_SSLv2,    'SSLv3':ssl.PROTOCOL_SSLv3,    'SSLv23':ssl.PROTOCOL_SSLv23,    'TLSv1':ssl.PROTOCOL_TLSv1,} def check_ssl_version(version):    try:        https = ssl.SS

DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器

DNS反射放大攻击分析 摘自:http://www.shaojike.com/2016/08/19/DNS%E6%94%BE%E5%A4%A7%E6%94%BB%E5%87%BB%E7%AE%80%E5%8D%95%E5%88%86%E6%9E%90/ 简介 DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器. 简单对比下正常的DNS查询和攻击者的攻击方式: 正常DNS查询:源IP地址 -–DNS查询--> DN

带你走进二进制-一次APT攻击分析

原文:https://osandamalith.com/2017/06/04/apt-attack-in-bangladesh/ 由prison翻译整理,首发i春秋 引言; 这是一次来自遥远国度的APT攻击分析样本范例,本文作者将带领你体验二进制漏洞分析的乐趣. 过程非常详细,附带所需样本,适合新手.难度三颗星. 目标文件: http://mozillatm.com/A0Jst6jAd7CYerrqFmwb4wqDLa5XHPW_May_2017.doc VirusTotal: https://

分享下今天研究的流量上限DDos攻击分析和解决方案

分享下今天研究的流量上限DDos攻击分析和解决方案 经常听到或者碰到某个网站被攻击,一般都是流量攻击.今天自己写了个程序测下相关的上限,程序只简单做了个get html操作(不包含图片等资源文件). 用一台双核CPU机器A,启100个线程,连续发送服务器B,统计出的结果是每秒钟发173个请求,机器A的发送带宽450Kbps,机器A的接收带宽2.8Mbps,机器B的发送带宽2.8Mbps,机器B的接收带宽450Kbps. 用一台双核CPU机器A,启1000个线程,连续发送服务器B,统计出的结果是每

分享下今天研究的流量上限DDos攻击分析和解决方式

分享下今天研究的流量上限DDos攻击分析和解决方式 常常听到或者碰到某个站点被攻击.一般都是流量攻击.今天自己写了个程序測下相关的上限,程序仅仅简单做了个get html操作(不包括图片等资源文件). 用一台双核CPU机器A,启100个线程,连续发送serverB.统计出的结果是每秒钟发173个请求,机器A的发送带宽450Kbps,机器A的接收带宽2.8Mbps,机器B的发送带宽2.8Mbps,机器B的接收带宽450Kbps. 用一台双核CPU机器A,启1000个线程,连续发送serverB,统

NTP反射放大攻击分析

前一阵子NTP放大攻击挺活跃的,现在来简单分析一下. 攻击原理: 1.  利用UDP协议的天然脆弱点,即不需要前期建立连接,直接就可以向client发送数据: 2.  Internet上存在大量开放分布式的NTPServer,进行对同步请求的响应. 3.  比DNS反射放大攻击威力更大的区别是NTP特有的一个Monlist功能,(Monlist指令,可以获取与目标NTP Server进行过同步的最后600个客户机IP.这意味着,一个很小的请求包,就能获取到大量的活动IP地址组成的连续UDP包).

Google发布SSLv3漏洞简要分析报告

摘要:今天上午,Google发布了一份关于SSLv3漏洞的简要分析报告.根据Google的说法,该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均使用SSL3.0),便可以成功获取到传输数据(例如cookies). 作者:FreebuF.COM 来源:ZDNet安全频道 | 2014年10月15日 11:59:26 关键字:Google SSLv3漏洞 今天上午,Google发布了一份关于SSLv3漏洞的简要分析报告.根据Google的

PHP程序的常见漏洞攻击分析

综述:PHP程序也不是固若金汤,随着PHP的广泛运用,一些黑客们也在无时不想找PHP的麻烦,通过PHP程序漏洞进行攻击就是其中一种.在节,我们将从全局变量,远程文件,文件上载,库文件,Session文件,数据类型和容易出错的函数这几个方面分析了PHP的安全性. 如何通过全局变量进行攻击? PHP中的变量不需要事先声明,它们会在第一次使用时自动创建,它们的类型根据上下文环境自动确定.从程序员的角度来看,这无疑是一种极其方便的处理方法.一旦一个变量被创建了,就可以在程序中的任何地方使用.这个特点导致

(转)邮箱钓鱼攻击分析实例

(转载自: http://www.rising.com.cn/newsletter/news/2013-06-26/13965.html    2013-06-26 ) 钓鱼攻击是目前互联网环境中最为常见的攻击方式之一,很多不法分子通过网站.邮箱.短信以及打电话等方式,骗取网民的敏感信息或钱财,而这些欺骗手段始终没有一个根本的解决方法.近日,笔者在浏览网站时就收到了一封钓鱼攻击邮件,在对该电子邮件分析过程中,发现有很多用户被该钓鱼攻击骗取了敏感信息,甚至可能对有些用户造成了经济损失.所以在这里,