在linux中,除了canary之外,有很多方法可以绕过安全机制(比如nx、aslr)。实际上,我发现堆栈canary是由linux内核在/arch/arm/include/asm/stackprotector.h/boot_in it_stack_canary()函数中生成的,随机数最后是由extract_熵函数生成的,它与keyboad、中断时间间隔等环境噪声有关。
在利用堆栈溢出漏洞时,有没有办法绕过金丝雀安全机制?

最佳答案

一般来说,打败金丝雀的技术是使用正确的值。通常,可以使用information leak在缓冲区溢出到堆栈之前获取正确的值,或者在某些情况下,如果进程再次启动,则可以使用brute force正确的值。

关于linux - 在用户模式下利用堆栈溢出漏洞时如何绕过堆栈金丝雀?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36643072/

10-11 22:05
查看更多