この脆弱な 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
私はしばらくこれに携わってきたので、本当に助けていただければ幸いです
乾杯