2022-04-28 16:01:33 +00:00
|
|
|
|
<details>
|
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 YouTube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 你在一家**网络安全公司**工作吗?想要在HackTricks中看到你的**公司广告**吗?或者想要**获取PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享你的黑客技巧**。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
2022-05-01 16:32:23 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
# 攻击摘要
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
想象一个服务器正在通过**附加**一个**秘密**到一些已知的明文数据上并对该数据进行哈希来**签名**。如果你知道:
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
* **秘密的长度**(这也可以从给定的长度范围中进行暴力破解)
|
|
|
|
|
* **明文数据**
|
|
|
|
|
* **算法(且它对这种攻击是脆弱的)**
|
|
|
|
|
* **填充是已知的**
|
|
|
|
|
* 通常使用默认填充,所以如果满足其他3个要求,这个也是已知的
|
|
|
|
|
* 填充根据秘密+数据的长度而变化,这就是为什么需要秘密的长度
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
那么,一个**攻击者**就可以**附加**数据并为**先前的数据+附加的数据**生成一个有效的**签名**。
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 如何实现?
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
基本上,脆弱的算法通过首先**哈希一个数据块**,然后,**从**先前创建的**哈希**(状态)中,**添加下一个数据块**并**对其进行哈希**。
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
然后,想象一下秘密是"secret",数据是"data","secretdata"的MD5是6036708eba0d11f6ef52ad44e8b74d5b。\
|
|
|
|
|
如果攻击者想要附加字符串"append",他可以:
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
* 生成64个"A"的MD5
|
|
|
|
|
* 将先前初始化的哈希状态更改为6036708eba0d11f6ef52ad44e8b74d5b
|
|
|
|
|
* 附加字符串"append"
|
|
|
|
|
* 完成哈希,生成的哈希将是**"secret" + "data" + "padding" + "append"**的有效哈希
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## **工具**
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2021-10-18 11:21:18 +00:00
|
|
|
|
{% embed url="https://github.com/iagox86/hash_extender" %}
|
2021-08-30 22:36:25 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
# 参考资料
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
你可以在[https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)中找到对这种攻击的很好解释。
|
2022-05-01 16:32:23 +00:00
|
|
|
|
|
2022-04-28 16:01:33 +00:00
|
|
|
|
<details>
|
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 YouTube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 你在一家**网络安全公司**工作吗?想要在HackTricks中看到你的**公司广告**吗?或者想要**获取PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享你的黑客技巧**。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|