Хочу протестировать эксплоит (файл html с уязвимостью) для браузера по средствам OllyDBG. Как мне запустить связку эксплоит и браузер и просмотреть в OllyDBG момент падения браузера?
1. Запусти браузер без уязвимости, отключи предварительно все лишнее, все лишние плагины, которых нет в дефолтной конфиуграции, так будет проще. Скорее всего тебе придется обойти ряд исключений, вызывающихся при старте, для этого Ctrl + (F7 + F8+F9). После того, того, как научишся запускать браузер под отладкой можно переходить к исследование эксплойтов. 2. Если это уязвимость хоть, как-то описана, старайся максимально близко поставить breakpoint F2 Harware execution / access 3. У OllyDBG есть определенные проблемы с потоками, поэтому рекомендую использовать hardware breakpoint Рассмотрим абстрактный случай, допустим есть переполнение в функции alert(); javascript Абстрактный пример эксплойта: Code: <script language='javascript'> alert('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'); </script> 4. Устанавливаешь breakpoint на функцию alert() в библиотеке интерпретирующий javascript 5. Открываешь страницу в браузере, содержащую эксплойт, срабатывает breakpoint дальше по шагово уже отлаживаешь. 6. Если успех и сработает переполнение, то регистр EIP заменится на число состаящее из 4-х байтов, ASCII символов AAAA, а именно EIP = 0x41414141
Второй вариант отладки эксплойтов и проверки на уязвимости. 1. в коде эксплойта делаешь "якорь" Пример эксплойта с "якорем" Code: <script language=javascript> function test() { var anchor = 'anchor123'; alert('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...'); } </script> <input type='button' onclick='test();' value='test' /> 2. После запуска браузера под отладчиком и открытия страницы с эксплойтом, ищешь в памяти процесса "якорь", текст "anchor123" ставишь на обращение к этой памяти hardware breakpoint 3. Запускаешь проверку уязвимости, кликом по кнопке test 4. После срабатывания эксплойта пошагово отлаживаешь до нужной тебе функции, уязвимого метода P.S. попробуй сначала поотлаживать следующие примеры разработанные самим, на любом из языков программирования, хотя удобнее будет на С или ASM отлаживать проще. 1. отладка исключения 2. примеры переполнения буфера и стэка P.S.2 эксперименты лучше проводить на довольно старых системах и старых браузерах Win XP + IE6 для начала, т.к. современные браузеры имеют различные защиты от переполнений