Heap Overflow
基本信息
堆溢出类似于栈溢出,但发生在堆中。基本上意味着在堆中保留了一些空间来存储一些数据,存储的数据大于所保留的空间。
在栈溢出中,我们知道一些寄存器,如指令指针或堆栈帧,将从堆栈中恢复,并且可能会滥用这一点。在堆溢出的情况下,堆块中默认没有存储任何敏感信息,可以被溢出。但是,可能存在敏感信息或指针,因此此漏洞的严重性取决于可以被覆盖的数据以及攻击者如何滥用此漏洞。
为了找到溢出偏移量,您可以使用与栈溢出相同的模式。
ARM64示例
在页面https://8ksec.io/arm64-reversing-and-exploitation-part-1-arm-instruction-set-simple-heap-overflow/中,您可以找到一个堆溢出示例,其中将要执行的命令存储在溢出块的下一个块中。因此,可以通过覆盖它来修改执行的命令,从而实现简单的利用。
最后更新于