2017-07-09 61 views
-1

嘿,我试图做一个基本的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的,并进入有效载荷连接回我的机器,我无法理解为什么它不工作。

+0

它可以很好地工作。你所看到的仅仅是gdb错误,而不是程序错误。让它继续。 – Jester

+0

感谢您的帮助,但编译时错过了某些选项! – W22

回答

0

解决了这个问题,我需要编译C程序,如: GCC -fno-堆栈保护-z execstack -o输出file.c