缓冲区溢出:NOP雪橇不工作
问题描述:
嘿,我试图做一个基本的C程序的缓冲区溢出,我使用在GDB中的shellcode是形式缓冲区溢出:NOP雪橇不工作
NOP雪橇然后msfvenom有效载荷连接回到我自己的机器,最后是NOP底座某处的内存地址。
运行gdb时,在执行shellcode之前,我可以看到NOP指令从0x7fffffffe010开始,这是我在shellcode结尾处的地址。执行的shellcode后,RIP寄存器是0x7fffffffe010但它给我的警告:
Cannot insert breakpoint 0.
Cannot access memory at address 0x40000
0x00007fffffffe010 in ??()
我认为裂口现在会读取NOP的,并进入有效载荷连接回我的机器,我无法理解为什么它不工作。
答
解决了这个问题,我需要编译C程序,如: GCC -fno-堆栈保护-z execstack -o输出file.c
它可以很好地工作。你所看到的仅仅是gdb错误,而不是程序错误。让它继续。 – Jester
感谢您的帮助,但编译时错过了某些选项! – W22