漏洞:SIGSEGV,分段错误

时间:2018-09-30 05:35:08

标签: c segmentation-fault stack-overflow exploit

对于我的硬件任务,我试图利用溢出的c文件。我无法编辑原始文件,也无法重新编译它。

我已经回到了我想要的地址。但是,在执行了一段时间的代码后,我得到了:

   0xffffcc38                  pop    %eax
   0xffffcc39                  push   %eax
   0xffffcc3a                  pop    %ecx
 → 0xffffcc3b                  xor    0x30(%ebp), %eax
   0xffffcc3e                  xor    %eax, 0x30(%ebp)
   0xffffcc41                  xor    %esi, 0x30(%ebp)
   0xffffcc44                  xor    0x30(%ebp), %esi
   0xffffcc47                  pop    %ax
   0xffffcc49                  push   $0x68736538
   0xffffcc3b in ?? ()


gef➤

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.

从0xfffcc30-> 0xffffcc3a执行正常,但突然停止在0xffffcc3b。我能知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

  

我能知道为什么会这样吗?

如果此指令产生了SIGSEGV

0xffffcc3b                  xor    0x30(%ebp), %eax

这是$EBP + 0x30指向不可访问内存的安全赌注

您很有可能是在漏洞利用中较早地“踏入” $EBP