【问题标题】:Can HTTPS request be sniffed and resubmitted?HTTPS 请求可以被嗅探并重新提交吗?
【发布时间】:2015-05-11 08:46:27
【问题描述】:

如果有人嗅探网络流量,他能否将他嗅探到的完全相同的加密请求(不篡改)重新发送到服务器?例如,一个请求可以激活服务器上的某个过程,那么他是否可以因为拥有请求内容而重新激活该过程,即使它是在 HTTPS 上的?

【问题讨论】:

  • @utility - 该链接表示数据是“使用仅在您和服务器之间共享的私钥加密的二进制数据流”,问题是其他人是否发送相同的数据到服务器,它会被正确解密并被视为有效请求(因为服务器知道最初加密数据的私钥)?
  • 如果您的公司、教育机构或其他 Internet 连接提供商通过组策略安装或要求您在计算机或浏览器上安装中级证书,那么他们可以嗅探您的流量:grc.com/fingerprints.htm跨度>

标签: security https server sniffing network-traffic


【解决方案1】:

这被称为Replay Attack

重放攻击(也称为回放攻击)是一种网络攻击形式,其中恶意或欺诈性地重复或延迟有效数据传输。

SSL/TLS 固有地保护您的连接免受重放攻击,因此通过 HTTPS 的任何内容都受到保护。

但是,如果有一个代理服务器(可能是透明的)在途中使用您的浏览器信任的 SSL 证书(例如在每台计算机上安装了组织签名的根证书的公司环境中),那么这将是能够重放 HTTPS 流量。

【讨论】:

  • 能否请您详细说明 SSL 如何执行此操作?它是否使用一些加密随机数?如果是这样,它在哪里“存储”它以确定它已经被使用过一次?
  • 来自RFC 4346The master_secret is hashed with the ClientHello.random and ServerHello.random to produce unique data encryption keys and MAC secrets for each connection.To prevent message replay or modification attacks, the MAC is computed from the MAC secret, the sequence number, the message length, the message contents, and two fixed character strings.。它不会被存储,但如果攻击者重播相同的ClientHello 消息,服务器将在ServerHello 中回复不同的随机值,因此 MAC 机密会不同,因此加密..
  • ..keys 会有所不同,因此新连接的服务器不会理解任何重放攻击尝试。
【解决方案2】:

答案取决于谁可能会攻击您的系统:

如果使用您的网页或应用程序的用户是攻击者,则明确的答案是“是”,请求数据是可访问的。

如果必须将本地系统管理员视为潜在攻击者,答案是肯定的。

如果您谈论的是只能访问加密数据包的外部攻击者(例如互联网访问提供商),答案是否定的。

您始终可以通过记录所有请求和响应数据的解密代理重定向 HTTPS 流量。客户端只需要接受/安装/信任代理的证书。

【讨论】:

  • 那么如果攻击者将这些他可以访问的加密数据包并简单地将它们“原样”发送到服务器会发生什么?
  • 没什么。由于服务器端使用了随机数(32 位),因此 SSLv3/TLS 可以防止重放攻击。
猜你喜欢
  • 2018-01-15
  • 2016-05-28
  • 1970-01-01
  • 2014-12-11
  • 2013-11-27
  • 1970-01-01
  • 2013-11-15
  • 1970-01-01
  • 2021-09-16
相关资源
最近更新 更多