1.3 KiB
Raw Blame History

Use After Free

{{#include ../../../banners/hacktricks-training.md}}

Basic Information

顾名思义,这种漏洞发生在程序为一个对象在堆中分配了一些空间写入一些信息,然后释放它,显然是因为不再需要它,接着再次访问它。

这里的问题是,访问已释放的内存并不是非法的(不会出现错误)。因此,如果程序(或攻击者)设法分配已释放的内存并存储任意数据,当从初始指针访问已释放的内存时,数据将被覆盖,导致一个漏洞,这将取决于原始存储数据的敏感性(如果它是一个即将被调用的函数的指针,攻击者可能会控制它)。

First Fit attack

First fit攻击针对一些内存分配器如glibc管理已释放内存的方式。当你释放一块内存时它会被添加到一个列表中新的内存请求从列表的末尾提取。攻击者可以利用这种行为来操控哪些内存块被重用,从而可能获得对它们的控制。这可能导致“use-after-free”问题攻击者可以更改重新分配的内存内容,造成安全风险。
查看更多信息:

{{#ref}} first-fit.md {{#endref}}

{{#include ../../../banners/hacktricks-training.md}}