День добрый! Я новичок в реверсинге (прочитал первые ~25 статей "Введение в крэкинг с нуля, используя OllyDbg") У меня конкретный вопрос по разработке эксплойта для последней дырки в IE7 (MS09-002) Вот DoS версия: obj=document.createElement('b'); obj.click; var clone = obj.cloneNode(); obj.clearAttributes(); obj=null; CollectGarbage(); clone.click; (На milw0rme уже появились несколько эксплойтов с шелкодом) Вопрос в следующем: С чего начинать исследование данной дырки? Я открыл IE в OllyDbg, но абсолютно не знаю куда поставить бряки. Если есть совет, что можно почитать по теме (и рядом), тоже спасибо.
Сейчас устал после работы, чтобы посмотреть за дыра, но самое простое -- запустить IE, натравить на станицу с РоС и посмотреть, по какому адресу упадет. С этого адреса и начинать разбор полета. Это в общем случае.
Спасибо за ответ. Именно это я и делаю. Проблема в том, что падает каждый раз по рандомальному аддресу. Видимо из-за освобожденной памяти CollectGarbage. Я пытался вернуться в листинге назад, чтобы найти саму точку падения (до перехода по рандомальному аддресу), но у меня не получается это правильно сделать. А где поставить бряк ДО я не знаю.
Адрес инструкции, выполнившей некорректную операцию случаен, или адрес, по котрому она пыталась прочитать/записать?
Второе, адрес по которому она пытается прочитать. Как я догадываюсь, там находится что то типа: mov EDI, DWORD PTR[EAX] а сам поинтер содержит случайный адрес.
наверно краш-дампы придется анализировать в любом случае? P.S. а такой вылет можно назвать уязвимостью?
Во-первых, "KiUserExceptionDispatcher" не сработал. Т.е. вылет произошёл не остановившись на кряке. Во-вторых, я нашёл точку вылета, поставив кряк на последний адрес возврата из стэка (4-ая остановка как-раз за два шага до вылета) Clerk, я выложу "Дамп стека в лонг формате", как только узнаю как его создать. В Олли я такой возможности не нашёл... Пока делаю аттач с картинкой Олли при вылете.
s0bb0ta Руки кривые у тебя. Смотрим на скрине: Ss = 0x23, нормальный селектор. Esp - видимо регион адресуемый Ss:Esp доступен для чтения/записи, поэтому отсутствие вызова диспетчера исключений невозможно(разумеется ось чистая). ЗЫ: Прежде чем разбирать сплоеты, хотябы разобрался в элементарных базовых принципах.)
Ну, во-первых спасибо. Информации много, пошёл разбирать как Ss=0x23 связано с вызовом диспетчера исключений. Может посоветуешь, что почитать по "базовым принципам"?
Посмотрел у себя на IE, к сожалению не могу сказать имя процедуры(отладочные символов нет). Код (Text): Executable modules, item 30 Base=43CD0000 Size=00374000 Name=mshtml (system) File version=7.00.6000.20900 Path=D:\WINDOWS\system32\mshtml.dll
s0bb0ta Такие темы лучше не писать в Beginners. Это не для новичков. Даже мне до этого еще далеко :-0. Ведь одна малейшая ошибка - и твой сплоит не работает, а стало быть и пользы от него == NULL.
AndreyMust19 да ладно далеко... а кто уже умеет внедряться в объективные файлы и настраивать фаеры? вот, вот.. так что не скромничай ,))