专栏中心

EEPW首页 > 专栏 > 如何从HTTPS加密数据中获取明文

如何从HTTPS加密数据中获取明文

发布人:MCZH0904 时间:2020-12-03 来源:工程师 发布文章

理论基础

Fetch API

关于Fetch API有两个比较重要的点:

1.Fetch API作为CacheService WorkersAPI的基础,可以获取任何资源,包括需要认证的跨域资源。

2.fetch()返回的是一个Promise对象,一旦Response对象接收到了第一个字节的数据,Promise对象就开始resolve,并且已经可以访问Response对象,这时候Response对象仍然会有数据流入。

Performance API

浏览器获取网页时,会对网页中每一个对象(脚本文件、样式表、图片文件等等)发出一个HTTP请求。performance.getEntries方法以数组形式,返回这些请求的时间统计信息。

攻击过程

首先从TCP层看一下一个典型的HTTP请求,在三次握手之后,客户端发出一个包含请求的TCP包,通常只有几百字节,到达服务器之后,服务器生成一个response并发回给客户端。如果response的尺寸大于MSS(最大传输单元除去TCP+IP头,对于以太网来说是1460字节),服务器会将response拆成多个分组,这些分组会根据TCP慢启动算法来发送。

1606957337(1).jpg

慢启动的算法如下(cwnd全称Congestion Window,拥塞窗口)

连接建好的开始先初始化cwnd = initcwnd,表明可以传initcwndMSS大小的数据。

每当收到一个ACKcwnd++; 呈线性上升

每当过了一个RTTcwnd = cwnd*2; 呈指数让升

还有一个ssthreshslow start threshold),是一个上限,当cwnd >= ssthresh时,就会进入拥塞避免算法(这里不涉及这个算法)

Linux 3.0之后把cwnd初始化成了10MSS

通过fetch(),我们可以知道第一次TCP数据返回的时间,如果我们再知道数据完全返回的时间,我们就能知道数据是一次TCP返回的,还是多次返回的。

这时候就要另一个Performance API来配合,通过资源的responseEnd来得到资源完全下载需要的时间。

我们把发起请求的时间记为T0,第一次TCP返回时间记为T1,完全接收时间记为T2。如果是一次返回的,那么T2-T1将是一个很小的值,通常在1ms内。如果是两次及以上的,时间会明显增加很多。

这时候看起来还是没什么卵用。然而,下一步就是利用这一点得到response的确切大小(这个大小是经过gzip,以及加密过的)。

首先来看看一次返回的情况,很多时候一个请求参数在请求的结果里会有返回,然后就可以利用这一点。我们把response分为两部分,一部分是我们想得到的实际大小,一部分是攻击者控制的请求参数,暂且称之为反射参数吧。通过重复调整反射参数,我们可以得到第一次TCP返回的最大可能尺寸(对每个服务器来说一般是个固定值)。之后,只要减去HTTPSSL/TLSheader的尺寸就可以了,而这两个都是可以预计的。

举例来说,当把反射参数调到708字节长时,正好可以一次TCP请求返回,而709就需要两次了,拿10*MSS14600字节)- 528字节的http– 26字节的SSL/TLS– 708,得到response的实际大小为13337字节。论文里介绍了两种对该算法的优化方法,这里暂时跳过。

除了反射参数这种情况,还可以对目标网站发布大量不同尺寸的内容,通过调整正常的query参数来查看返回内容的大小达到同样的目的。

对于多次TCP返回的情况,会受到慢启动算法的影响,攻击者会向一个已知尺寸的资源发起一个请求,然后再向目标资源发起请求,服务器会将拥塞窗口提高。通过调整第一个请求资源的尺寸多次分析也可以得到结果。

接下来,只要配合BREACH/CRIME等攻击,就可以轻松获取E-mail地址,社保号等信息了,而不像BREACH攻击一样还要借助中间人攻击去得到资源的大小。

另外,在HTTP2下,利用一些新特性,这种攻击的情况还会更加糟糕。—明辰智航云安网络与虚拟化性能管理系统(www.mingczh.com)

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

纳芯微推出全集成车用电机驱动SoC NSUC1612

硅谷的成功因素是什么

视频 2012-05-28

单片机应用技术选编(4)

资源下载 2008-01-02

MEMS代工趋势

视频 2012-05-28

美国对ASML设备免征15%的关税

2025-08-14

同比增 7.5%!2025 上半年蓝牙耳机市场回暖,耳夹品类首次反超耳挂

2012英特尔杯大学生电子设计竞赛嵌入式系统专题邀请赛开赛

视频 2012-05-31

浅谈I2C总线

tanke 2005-08-12

AI芯片研究现状及体系结构

2025-08-14

东京电子承认员工涉入台积电2nm泄密案

2025-08-14

灿芯半导体推出PCIe 4.0 PHY IP

EDA/PCB 2025-08-14

Gartner技术成熟度曲线揭示2025年重要人工智能创新

\"zangchao\"的CAN通信协议与USART通信协议互相转换视频

视频 2012-05-29

60V、98% 效率、四开关同步降压-升压型控制器 IC 可驱动 LED、调节电压并给电池充电

TDK扩展超低钳位电压TVS二极管产品线,以满足消费电子的高速接口应用

单片机应用技术选编(7)

资源下载 2008-01-02

单片机应用技术选编(5)

资源下载 2008-01-02

贸泽开售汽车用Vishay VEML6046X00颜色传感器

单片机应用技术选编(8)

资源下载 2008-01-02

尊湃窃密华为芯片案14名前海思员工获刑,有关案件更多细节被曝光

2025-08-14

单片机应用技术选编(6)

资源下载 2008-01-02
更多 培训课堂
更多 焦点
更多 视频

技术专区