我正在尝试运行这段易受攻击的 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 新手。我使用的 bash 代码来自这里:
http://www.evanjones.ca/buffer-overflow-101.html
我已经有一段时间了,所以非常感谢一些帮助
干杯