"心脏出血会接收什么类型的数据?"

2024-05-03 06:12:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在几台服务器上使用了Heartbleed的Python实现,得到了各种各样的响应数据。在

在收到的数据中,我看到:

- Cookies values (SESSIONID, etc)
- Random characters that make no sense
- HTML
- ...?

我知道我是一个脚本孩子,但不管怎样,我想知道这些数据来自哪里(RAM?)什么应用程序把数据放在那里(apache?openSSL?)希望能更全面地了解情况。在

有什么帮助吗?在


Tags: 数据no服务器脚本makethathtmletc
2条回答

根据heartbleed.com,易受攻击的计算机可以在每个心跳信号请求中泄漏64kb的内存内容,但攻击者可以任意多次发出这些请求。我看到过一些评论,大意是攻击者理论上可以恢复足够的数据来完全重建目标机器的RAM内容,或者至少,不管Apache(或者SSL会话中涉及的任何程序)能看到多少。例如,这可能包括cookies、正在服务的文件以及来自进来的数据——尤其是用户名和密码。在

一个特别的问题是,任何使用SSL的进程都需要有足够的信息来解密传入的数据并对传出的数据进行签名,也就是说,私钥。{em)可能会导致你的数据泄露。密钥可能会泄漏而未被发现,这就是为什么建议的响应是修补OpenSSL并然后重新密钥-修补OpenSSL可保护您免受未来的攻击,但您无法知道您的加密密钥是否已被泄露。在

以下是Jacob最初发布在Superuser上的解释:

在为传输层安全(TLS)设置标准的RFC5246中,有一个称为心跳的函数。客户机和服务器来回发送一些数据以保持连接的有效性,以便以后使用。现在在实践中,客户机会发送一些数据,而服务器只会发送回来,一切都很好。但是,在受影响的OpenSSL版本中,没有检查客户机是否实际发送了它所发送的数据量。因此,如果我发送1B并告诉服务器我实际上发送了64kB,那么它会很高兴地将我发送回64kB。其他字节是从哪里来的?这就是钥匙。OpenSSL将把进程有权访问的64kB-1B内存发回给您,这取决于1B的存储位置。这些来自内存的额外字节是问题所在,因为它们可能包含有价值的信息,如私钥材料和服务器正在解密以使用的信息。例如:密码、信用卡信息和/或PIN。在

相关问题 更多 >