Как найти и перезаписать EIP в лаборатории переполнения буфера, используя GDB 14.2?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как найти и перезаписать EIP в лаборатории переполнения буфера, используя GDB 14.2?

Сообщение Anonymous »

У меня есть следующий код как часть буфера переполнения CTF Challenge: < /p>

Код: Выделить всё

#define _GNU_SOURCE
#include 
#include 
#include 
int my_gets(char *buf) {
int i = 0;
char c;
while (read(0, &c, 1) > 0 && c != '\n') {
buf[i++] = c;
}
buf[i] = '\0';
return i;
}

int main() {
int cookie;
char buf[16];

printf("&buf: %p, &cookie: %p\n", buf, &cookie);
my_gets(buf);

if (cookie == 0x000D0A00) {
printf("%s","You win!\n");
}
return 0;
}
< /code>
. Обычно цель состоит в том, чтобы перезаписать переменную cookie, чтобы достичь значения 0x000d0a00, но это значение содержит специальные символы, которые затрудняют прямую инъекцию. Поэтому вместо этого моя цель состоит в том, чтобы прыгнуть непосредственно, чтобы адресовать 0x08049232, чтобы напечатать «Вы выиграете!» Без необходимости модифицировать cookie.gcc -m32 -z execstack -fno-stack-protector -no-pie -o stack4 stack4.c
(gdb) break *0x08049232
Breakpoint 1 at 0x8049232
(gdb) run < 

Подробнее здесь: [url]https://stackoverflow.com/questions/79570284/how-to-locate-and-overwrite-eip-in-a-buffer-overflow-lab-using-gdb-14-2[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»