首先,我对这个无聊的问题感到抱歉,由于我的英语不好,我无法清楚地分辨它。我也不知道是什么?它叫什么。

我的问题如下:

我用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标记字符串的结尾。

10-04 14:37
查看更多