![]() |
Buffer Overflow на примере
Добрый вечер!
Помогите разобраться с переполнением буфера. Я много статей находил на разных форумах, но остались некоторые вопросы. Есть следующий кусок кода: Код:
#include <stdio.h>Код:
#include <stdio.h>Вопрос какие техники передачи управления на свой код существуют и актуальны (желательно на примере)? ВСЕМ ЗАРЕНЕЕ ОГРОМНОЕ СПАСИБО |
почти все сплоиты делают адрес возрата на статический адрес (которые всегда есть в коде и он одинаковый) на инструкцию jmp ebp
вернее такой инструкции не найдешь в коде, а нужно искать по опкоду их. дело в том, что ebp какраз и будет часто указывать на код который в буфере |
Цитата:
а ebp это стэк - в нем стараются размещать базонезависимый код, который сам все, что надо и где надо найдет, если надо |
Цитата:
to slesh Я примерно так и думал...но как найти адрес инструкции jmp, если код постоянно загружается в адресное пространство по разным адресам....Да и черт с ним нашел я jmp попал на свой код в буфере, DEP не даст его выполнить... |
сходи на форум wasm.ru или на rootkit.com - они там этими темами занимаются.
высказывание мое туманно, да :) смысл его в том, что зная определенные фичи можно используя базонезависимый [т.е. неважно по какому адресу он окажется загружен - он будет рабочим] код раскурить стек и найти адрес kernel32.dll в памяти, дальше по структуре PE файла найти любую экспортируемую им функцию (хватает LoadLibrary и GetProcAddress). еще можно искать функции по сигнатурам. кароче тема эта очень обширна, иди на wasm |
to DraconHaSh wasm.ru - отличный сайт я там периодически бываю.....rootkit.com хм...я буржуйский конечно знаю, но не до такой степени(тут по русски то объяснить не могут:)
А чем этот сайт тебе плох....и раздел вроде подходящий или здесь только спамеры ВК писать умеют из готовых net классов??? Зная определенные фичи можно править миром))) Сам посуди ты можешь изменить один адрес - один адрес возврата, а ты там накрутил на целый эвристический анализатор, поиск по базе адресов и тд))) КОНСТРУКТИВНЕЙ ПОЖАЛУЙСТА ВОДЫ Я УЖЕ МНОГО В ИНЕТЕ ПРОЧИТАЛ |
ну ты тормоз : )))) удачи тебе в искусстве поисков неводы и, главное, отличения ее от воды ;)
|
DEP он и в африке DEP - есть он включен то пздц )
Тут тока если юзать JIT Spray шелкоды (но это в основном тока в браузерах и тому подобном софте) Найти jmp ebp - легко. DLL гурзятся всегда в разное место памяти, а вот EXE файл всегда по фиксированному адресу указанному в PE заголовке. По этому эта инструкция должна искаться внутри образа проги. |
Спасибо slesh:), будем искать...
|
| Время: 03:56 |