在Ubuntu 12中防止缓冲区溢出演示中的分段错误

时间:2012-06-26 15:55:00

标签: c security bash buffer-overflow

我正在尝试运行这段易受攻击的C代码:

#include <stdio.h>
#include <stdlib.h>

int add(int x, int y)
{
 int z =10;
 z = x + y;
 return z;
}

main(int argc, char **argv)
{
 int a = atoi(argv[1]);
 int b = atoi(argv[2]);
 int c;

 char buffer[100];

 gets(buffer);
 puts(buffer);

 c = add(a,b);

 printf("Sum of %d+%d = %d\n",a, b, c);

 exit(0);
}

我试图通过分段错误,以便我可以输入整数,但分段错误可以防止这种情况。在终端我尝试过: gcc -ggdb -fno-stack-protector -U_FORTIFY_SOURCE -Wa, - execstack -o SimpleDemo SimpleDemo.c

我仍然遇到分段错误。我很遗憾接下来会尝试什么。你可能会说,我是一个ubuntu newb。我使用的bash代码来自这里:

http://www.evanjones.ca/buffer-overflow-101.html

我一直都在这,所以非常感谢一些帮助

干杯

1 个答案:

答案 0 :(得分:1)

只是解释hmjd要求你做什么。

运行(二进制)10 20