Переполнение буфера в linux - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь использовать переполнение буфера в C, Linux. Моя программа:

#include <stdio.h>
#include <string.h>

int main(int argc, char **argv) {
   char buf[100];
   strcpy(buf, argv[1]);
   printf("%s\n", buf);

   return 0;
}

От GDB: я использую команду:

run $(python -c 'print "\x41"*100 + "\x42\x42\x42\x42" + "\x43\x43\x43\x43"')

Тогда я получаю:

Program received signal SIGABRT, Aborted
0xb7fd9d05 in __kernel_vsyscall()

Но мне нужно получить что-то вроде: 0xb7fd9d05 in ??(). Что я делаю не так?

Также после команды: x/100x $sp-200 мне нужно получить что-то вроде: enter image description here

но вместо этого я получаю:

enter image description here

...