hacktricks/crypto-and-stego/hash-length-extension-attack.md

4.8 KiB
Raw Blame History

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

WhiteIntel

WhiteIntel是一个由暗网支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到窃取恶意软件的侵害。

WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。

您可以访问他们的网站并免费尝试他们的引擎:

{% embed url="https://whiteintel.io" %}


攻击摘要

想象一个服务器正在通过将一个 秘密 附加到一些已知明文数据上然后对该数据进行哈希来签名一些数据。如果您知道:

  • 秘密的长度(这也可以从给定长度范围内进行暴力破解)
  • 明文数据
  • 算法(及其容易受到此攻击)
  • 填充是已知的
  • 通常会使用默认填充因此如果满足其他3个要求这也是
  • 填充根据秘密+数据的长度而变化,这就是为什么需要秘密的长度

那么,攻击者可以附加数据并为先前数据+附加数据生成有效的签名

如何?

基本上,易受攻击的算法首先通过对数据块进行哈希处理,然后,先前创建的哈希(状态)开始,它们添加下一个数据块对其进行哈希处理

然后,想象秘密是"secret",数据是"data""secretdata"的MD5是6036708eba0d11f6ef52ad44e8b74d5b。
如果攻击者想要附加字符串"append",他可以:

  • 生成64个"A"的MD5
  • 将先前初始化的哈希状态更改为6036708eba0d11f6ef52ad44e8b74d5b
  • 附加字符串"append"
  • 完成哈希处理,生成的哈希将是一个**对"secret" + "data" + "填充" + "append"**有效的哈希

工具

{% embed url="https://github.com/iagox86/hash_extender" %}

参考资料

您可以在https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks中找到对此攻击的很好解释

WhiteIntel

WhiteIntel是一个由暗网支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到窃取恶意软件的侵害。

WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。

您可以访问他们的网站并免费尝试他们的引擎:

{% embed url="https://whiteintel.io" %}

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式