我正在尝试运行这段易受攻击的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
我一直都在这,所以非常感谢一些帮助
干杯
答案 0 :(得分:1)
只是解释hmjd要求你做什么。
运行(二进制)10 20