mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
62 lines
3.5 KiB
Markdown
62 lines
3.5 KiB
Markdown
|
# Einherjar之屋
|
|||
|
|
|||
|
<details>
|
|||
|
|
|||
|
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS红队专家)</strong></a><strong>!</strong></summary>
|
|||
|
|
|||
|
支持HackTricks的其他方式:
|
|||
|
|
|||
|
* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|||
|
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
|
|||
|
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品
|
|||
|
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**。**
|
|||
|
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
|
|||
|
|
|||
|
</details>
|
|||
|
|
|||
|
## 基本信息
|
|||
|
|
|||
|
### 代码
|
|||
|
|
|||
|
* 查看示例:[https://github.com/shellphish/how2heap/blob/master/glibc\_2.35/house\_of\_einherjar.c](https://github.com/shellphish/how2heap/blob/master/glibc\_2.35/house\_of\_einherjar.c)
|
|||
|
|
|||
|
### 目标
|
|||
|
|
|||
|
* 目标是在几乎任意特定地址上分配内存。
|
|||
|
|
|||
|
### 要求
|
|||
|
|
|||
|
* 通过下一个块的头部的一个偏移量来修改前一个块的使用情况
|
|||
|
* 能够修改`prev_size`数据,这是当前块的一部分(位于末尾)
|
|||
|
* 堆泄漏
|
|||
|
|
|||
|
### 攻击
|
|||
|
|
|||
|
* 在受攻击者控制的块内创建一个`A`假块,将`fd`和`bk`指向原始块以绕过保护
|
|||
|
* 创建另外2个块(`B`和`C`)
|
|||
|
* 利用`B`中的一个偏移量,清除`prev in use`位并用`C`块分配的位置与之前生成的假`A`块之间的差异覆盖`prev_size`数据
|
|||
|
* 这个`prev_size`和假块`A`的大小必须相同以绕过检查
|
|||
|
* 然后填充Tcache
|
|||
|
* 然后释放`C`,使其与假块`A`合并
|
|||
|
* 然后创建一个新块`D`,它将从假`A`块开始并覆盖`B`块
|
|||
|
* 然后释放`B`,并将其`fd`覆盖为目标地址,使其指向目标地址,利用包含它的`D`块
|
|||
|
* 然后进行2次malloc,因为第二次malloc将包含目标地址
|
|||
|
|
|||
|
## 参考资料
|
|||
|
|
|||
|
* [https://github.com/shellphish/how2heap/blob/master/glibc\_2.35/house\_of\_einherjar.c](https://github.com/shellphish/how2heap/blob/master/glibc\_2.35/house\_of\_einherjar.c)
|
|||
|
|
|||
|
<details>
|
|||
|
|
|||
|
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS红队专家)</strong></a><strong>!</strong></summary>
|
|||
|
|
|||
|
支持HackTricks的其他方式:
|
|||
|
|
|||
|
* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|||
|
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
|
|||
|
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品
|
|||
|
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**。**
|
|||
|
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
|
|||
|
|
|||
|
</details>
|