Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Прошу совета в экплуатации переполнения стека тестовой программы

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Взлом программ] >> Прошу совета в экплуатации переполнения стека тестовой программы
Имя
Сообщение << Старые топики   Новые топики >>
Прошу совета в экплуатации переполнения стека тестовой программы - 2011-01-09 16:40:37.453333   
milohoffman

Сообщений: 1
Оценки: 0
Присоединился: 2011-01-09 13:36:26.530000
Вечер добрый, написал тут тестовую программку из нескольких строк, чтобы ее помучить. Под gdb нашел адрес, куда удобно будет передать управление (сначала пробовал попасть на nop'ы, но муторно было, нашел руками). вобщем подготавливаю данные, передаю ей, а она с сегфолтом вываливается… хм… ладно. запускаю под gdb, ставлю бряк на этот самый адрес, run, оп, попался! все-таки под отладчиком управление успешно передалось и шеллкод отработал:
(gdb) disas 0xbffff605,+20 Dump of assembler code from 0xbffff605 to 0xbffff619: 0xbffff605: lea 0xc(%esi),%edx =&gt; 0xbffff608: int $0x80 0xbffff60a: call 0xbffff5f0 0xbffff60f: das 0xbffff610: bound %ebp,0x6e(%ecx) 0xbffff613: das 0xbffff614: insb (%dx),%es:(%edi) 0xbffff615: jae 0xbffff617 0xbffff617: psadbw %mm7,%mm7 End of assembler dump. (gdb) si process 11273 is executing new program: /bin/ls [Thread debugging using libthread_db enabled] core main nopattack nopattack.c stackoverflow.tar.gz try try.c victim victim.c Program exited normally. однако не хочет работать в свободном плавании… вот анализ коредампа:
[milo@milo stackoverflow2]$ gdb ./victim core Program terminated with signal 11, Segmentation fault. #0 0xbffff5ed in ?? () (gdb) info registers eax 0x0 0 ecx 0x0 0 edx 0xbf9b1756 -1080354986 ebx 0xb771dff4 -1217273868 esp 0xbf9af410 0xbf9af410 ebp 0xbffff5ed 0xbffff5ed esi 0x0 0 edi 0x0 0 eip 0xbffff5ed 0xbffff5ed eflags 0x210246 [ PF ZF IF RF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 (gdb) x 0xbffff5ed 0xbffff5ed: Cannot access memory at address 0xbffff5ed есть две версии этой ошибки: 1. память уже очистилась и, соответственно, я не могу посмотреть ее содержимое; 2. память не доступна на исполнение и это вызывает падение программы… попробовал с помощью ht изменить атрибуты секции данных (+execute), тоже не помогло… есть версия, что атрибуты не там менял (признаюсь честно, тут я немного не силен - в какой секции стэк находится…). в любом случае за совет или подзатыльник (только не переусердствуйте) буду благодарен.
Post #: 1
Страниц:  [1]
Все форумы >> [Взлом программ] >> Прошу совета в экплуатации переполнения стека тестовой программы







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.