2 / 2 / 0
Регистрация: 04.03.2013
Сообщений: 21
|
|
1 | |
Хакинг. Искусство эксплойта25.03.2013, 00:58. Показов 12516. Ответов 33
Метки нет (Все метки)
Прежде исложить свою проблему хочу спросить, читал ли кто-нибудь и пробовал на практике задачи описанные в книге Джона Эриксона: "Хакинг. Искусство эксплойта" ?
ссылка на книгу: http://www.ozon.ru/context/det... z&from=bar
0
|
25.03.2013, 00:58 | |
Ответы с готовыми решениями:
33
Дальнейшее чтение после Р.Лафоре искусство ООП программирования С++ Wifi хакинг Компьютерное искусство Цифровое искусство |
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
25.03.2013, 07:18 | 4 |
ИМХО хакинг, обсуждаемый в контексте борьбы с ним - вполне нормальная тема для форума программистов.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
25.03.2013, 15:45 | 7 |
Новичок как раз всё равно не сможет хакнуть, а начать учиться защищать свой код ни когда не рано, так как именно новичковый код в первую очередь хакнут. Или предпочитаете снести тему разделом выше?
1
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
25.03.2013, 16:25 | 10 |
Всё равно новичок не сможет хакнуть по книге: опубликованное уже пофиксено всеми, кроме ему подобных, а что то новое на основе прочитанного он пока не придумает. Защищаться же книга как раз научит хоть от чего то.
0
|
2 / 2 / 0
Регистрация: 04.03.2013
Сообщений: 21
|
||||||||||||||||
26.03.2013, 01:31 [ТС] | 11 | |||||||||||||||
Всем спасибо за бурное обсуждение в моей темы)) А вот и собственно сами вопросы:
Иммется уязвия программа с правми рут.
Ниже показан код эксплойта, который создает буфер и передает его уязвимой программе в надежде заставить ее выполнить внедренный в буфер шелкод, а не просто аварийно завершиться. Код эксплойта сначала получает текущий указатель стека и вычитает из него смещение. В данном случае смещение равно 0. Выделяется память для буфера (в куче), и весь он заполняется адресом возврата. Зателм первые 200 байт буфера заполняются NOP-цепочкой. После NOP-цепочки помещается шелкод, а в оставщийся части буфера сохраняется записанный адрес возврата. Наконец еще одна функция запускает уязвимую программу и передает ей специально сконструированный буфер.
Stack pointer (ESP) : 0xbffff978 Offset from ESP : 0x0 Desired Return Addr : 0xbffff978 sh-2. 05a# whoami root sh-2. 05a# [ Текстовые строки у меня выводит, адресс возврата переписывается, но не запускается сам шелкод. Программа была переписанна с С на С++ и компилятор стал ругаться на строку
P.S.: Предлогаю перенести тему из раздела C++ для новичков, на книге стоит пометка Уровень подготовки читателей: Высокий. Да и новичкам потом кошмары сниться будут))))
0
|
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
|
|
26.03.2013, 01:49 | 13 |
Надо будет полистать книжку на досуге)
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
26.03.2013, 12:35 | 15 |
не юзай strcopy, все переполнения от неё, от scanf и от sprintf: буфер они не создают, а размер измеряют, но не спрашивают.
Добавлено через 2 минуты кошмары будут сниться не им, а наставникам, если таковые: 1. Имеются в наличии. 2. Начитаются новичковых кривоэксплойнтов и кривозащит от них. А новички кошмары просто напишут. Добавлено через 2 часа 29 минут Как защититься от эксплойнта на стр. 131? И куда он предалагает загрузить его адрес? Предыдущие понятны: порча адреса возврата и указателей на функции, не пользоваться: strcpy, printf, sprintf и scanf, не писать собственных функций со спецификаторами записи в форматных строках. А этот не понятен.
1
|
2 / 2 / 0
Регистрация: 04.03.2013
Сообщений: 21
|
|
26.03.2013, 13:40 [ТС] | 16 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
26.03.2013, 13:58 | 17 |
А ты не задумывался, почему TS (topic starter), а не TO (topic owner)? Автор первого поста темы лишь обращает внимание сообщества на тему, но не владеет ею, она может заинтересовать и того, кто раньше о ней не задумывался, возможно, не знал, у него могут возникнуть свои вопросы. Это нормально. Охота владеть обсуждением - веди его в блоге, а здесь я могу присоединиться в качестве второго автора вопросов.
Добавлено через 7 минут Я имею ввиду, что тот эксплойнт основан на переполнении, а оно возникает только в функциях scanf, sprintf и strcpy, не проверяющих размер предоставленного им буфера, но измеряющих количество необходимой им памяти и в анологично им написаной кривоотсебятине. Даже printf конкретно на эксплойнт переполнения подцепить не возможно, так как она просто не переполняется. Не используй эти функции. И не передавай в printf то, что ты не можешь контролировать: результат пользовательского ввода, прочитанную из файла строку... Из-за спецификатора %n она тоже опасна.
2
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
26.03.2013, 14:35 | 19 |
Я предлагаю не дать другому читателю взломать написанное TagaBenzом.
0
|
2 / 2 / 0
Регистрация: 04.03.2013
Сообщений: 21
|
|
26.03.2013, 18:15 [ТС] | 20 |
Как я понял шелкод прописывает команду в терминале, которая выводит владельца уязвимой программы, а именно команду whoami
Опыта работы с консольным отладчиком не имею вобше(( помогите разобраться <http://bugs.launchpad.net/gdb-linaro/>... Reading symbols from /home/r2d2/exploit...(no debugging symbols found)...done. (gdb) run Starting program: /home/r2d2/exploit Stack pointer (ESP) : 0xbffff358 Offset from ESP : 0x0 Desired return Addr : 0xbffff358 process 9404 is executing new program: /home/r2d2/vuln *** stack smashing detected ***: vuln terminated Program received signal SIGSEGV, Segmentation fault. 0xb756cb19 in ?? () from /lib/i386-linux-gnu/libgcc_s.so.1 Что мне делать и как искать ошибку в программе? Что означает строка 0xb756cb19 in ?? () from /lib/i386-linux-gnu/libgcc_s.so.1
0
|
26.03.2013, 18:15 | |
26.03.2013, 18:15 | |
Помогаю со студенческими работами здесь
20
Татуировка, как искусство Ремесло или искусство? Искусство передавать мысли Графити как искусство Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |