在研究和测试了32位linux机器上的各种攻击(外壳代码注入,返回到libc,GOT覆盖)之后,我专注于64位世界。在实现基本外壳代码注入攻击方面,我没有任何问题。但是现在我试图返回到libc对x86_64的攻击,以绕过NX堆栈保护。现在,在64世界中,易受攻击程序的文本段被保护为空字节,所以您不能将执行重定向到受害者内部的指令。地址中的8个字节中有5个为空字节(4个字节中有1个为空字节,->发现32位pop小工具不是解决方案)。-体系结构一样,libc中的指令使用空字节进行保护:
(gdb ) p