如何使用缓冲区溢出漏洞利用

时间:2015-09-15 00:39:08

标签: c fgets buffer-overflow exploit

我尝试学习缓冲区溢出漏洞。

我有这段代码:

       #include <stdio.h>
       int read_req(FILE *p) {
       char buf[16];
       int i;
       fgets(buf, 1024, p);
       i = atoi(buf);
       return i;
      }
      int main() {
       FILE *fp = fopen("/home/assignment/shellcode", "r");
        int x = read_req(fp);
       printf("x = %d\n", x);
      }

我想使用这个shellcode来利用这段代码:

  #include <stdio.h>

  void main() {

   char *name[2];

   name[0] = "/bin/sh";

  name[1] = NULL;

   /* Launch shell */

   execve(name[0],name, NULL);

 } 

但我不知道如何使用它,我也听说fgets不会导致缓冲区溢出问题..我很困惑

想你

1 个答案:

答案 0 :(得分:0)

在文件/home/assignment/shellcode中放置几百个'A'并在gdb调试器下运行易受攻击的应用程序。这应该覆盖eip / rip,足以让你开始。