我的程序看起来像这样:
/* buf_overflow.c */
#include
int main(){
char buf[4];
char exploit_buf[4];
fgets(buf, 4, stdin);
gets(exploit_buf);
printf("exploit_buf: %s\n", exploit_buf);
return 0;
}
我将使用"gets"函数的漏洞来缓冲溢出一些其他变量.我要写入"exploit_buf"的值是"AAAAAAAA\x01\x00\x00\x00",但我不知道如何将ASCII代码"01"和"00"发送到exploit_buf.
我知道使用这个命令"printf"AAAAAAAA\x01\x00\x00\x00""可以输入我想要的字符,但我不知道如何将它们发送到exploit_buf.我也知道Alt +(键盘右侧的数字键)可以从我输入的ASCII码中生成字符,但这在我的程序中也不起作用.
主要问题是"如何跳过第一个函数"fgets()"并在"gets()""中键入任意ASCII代码.
谁知道如何在linux的命令行中输入任意ASCII码?