首先,我对这个无聊的问题感到抱歉,由于我的英语不好,我无法清楚地分辨它。我也不知道是什么?它叫什么。
我的问题如下:
我用C语言编写程序:
#include <stdio.h>
#include <stdlib.h>
int main() {
char buf[2],buf1[10];
fgets(buf,2,stdin);
fgets(buf1,10,stdin);
puts(buf);
puts(buf1);
printf("Opening Shell...\n");
system("/bin/dash");
printf("\nEND\n");
return 0;
}
我的目的是将参数传递给溢出缓冲区变量,并在/ bin / dash之后插入命令以读取一些我不拥有的文件,等等。我尝试过:
管道:
python2.7 -c 'print "a"*12 + "\n" + " -c \"cat tes.c > show\""' | /myprogram
我的程序正常运行,但可能不使用shellcode
-c "cat tes.c > show"
。我设置了所有文件和权限
7777
。那么,如何在/ bin / dash之后插入shellcode?
感谢阅读!对不起,我的英语不好。
最佳答案
您需要在\0
的末尾覆盖"/bin/dash"
并插入以\0
结尾的代码,因为\0
标记字符串的结尾。