Pull to refresh

Comments 15

>> А точнее использовалась особенность загрузки mscorie.dll от .NET Framework 2.0, которая была скомпилирована без флага и загружается всегда по одинаковому базовому адресу (0х63f00000).
Объясните пожалуйста. Эксплоит обращается к dll по этому адресу или подменяет код по этому адресу своим? То есть, что было бы, если бы dll была скомпилирована с флагом, название которого не упоминается?
mscorie.dll скомпилирована с фиксированным базовым адресом от которого идет адресация загружаемого в память модуля. Если бы использовалась опция для радномизации базового адреса, тогда он менялся при каждой загрузке этого модуля и код эксплойта не мог бы использовать его для выполнения ROP.
Буду благодарен, если дадите посмотреть как эксплойт выглядит сейчас.
Тк возможности запустить скрипт на Ruby сейчас нету..(
UFO landed and left these words here
Не знаю почему. Чем популярнее браузер, тем больше дыр в нём находят.

Например, релизы FireFox 3.6.13/3.5.16 исправляют 13 уязвимостей (!), 11 из них — критические. Плюс ещё 20 ошибок приводят к краху. Proof: www.opennet.ru/opennews/art.shtml?num=28953
а что за код такой интересный?

3ced63a5 8bff это листинг или это часть кода?
3ced63a5 8bff mov edi,edi

3ced63a5 — адрес инструкции
mov edi,edi — инструкция
8bff — машинный код инструкции

А вот насчет mov edi, edi — очень интересно, это двухбайтовая заглушка (она ничего не делает) для поддержки патчинга запущенной программы на лету.
При компиляции программы с поддержкой хотпатчинга, компилятор перед каждой функцией оставляет 5 байт «пустыми».
Теперь если надо пропатчить запущенную программу, на место этих пяти байт пишется инструкция перехода на код патчинга JMP XXXX (5 байт), затем на место mov edi,edi (2 байта) пишется инструкция ближнего перехода на эту инструкцию JMP XXXX.
Почему mov edi, edi, а не два nop — для того чтобы перезаписать за один раз. Иначе может получится что в потоке, исполняющем эту функцию, адрес текущей команды (IP) пришелся как раз на второй nop.

Спасибо, про «хотпатчинг» не слыхал, почитаю
В чём именно выражается использование ROP при написании эксплойта?
Ваша ссылка на Metasploit уже не работает, я нашел только такой вариант: www.breakingpointsystems.com/community/blog/ie-vulnerability/. Там всё предельно банально, без ROP. Или я что-то не так понял?
Sign up to leave a comment.

Articles