我正在尝试在我的Linux环境(BT3)中启动一个shell,但它会阻止段错误。我正在使用的方法是 The Shellcoder的HandBook 。请注意,所有这些都直接来自文本。
更多参考:http://www.backtrack-linux.org/forums/old-pentesting/15508-stuck-eip-buffer-overflow.html
答案 0 :(得分:3)
现代操作系统补丁中已修复了许多缓冲区溢出漏洞。由于操作系统正在检测缓冲区溢出并导致进程中断,因此您可能会发生段错误。
答案 1 :(得分:1)
如果您在现代内核上运行,那么您的应用程序就是segfaulting,因为操作系统很容易检测到利用EIP。当EIP发生变化或溢出时,OS具有适当的机制来检查EIP指向的位置在虚拟存储区域中是否有效。在该漏洞利用的情况下,检查会失败,操作系统会向您的应用程序发送SIGKILL或SIGSEGV,以防止造成任何伤害。