МелкоМягкие опять радуют и с новой силой :). На этот раз в Microsoft Outlook Express глючит
отсутствие проверки длины буфера, в который
записывается имя файла, при обработке файлов *.jpeg
и *.bmp, приаттаченных к письму. Таким образом, если
отправить жертве письмо и прикрепить кнему любой
файл *.jpeg или *.bmp, имя которого превышает 256
символов, то можно спровоцировать переполнение
буфера. А так как Outlook Express автоматически пытается
открывать такие письма при переполнении буфера,
то можно добиться исполнения кода.
Пример подобного письма:

Content-Type: text/plain;
name="hert.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA.jpg"

А вот чтобы реализовать
эксплойт - встаёт задача несколько более трудная.
Почему? Потому что адрес буфера начинается с '00', а
в начале его мы имеем строку 'C:\TEMP'. Это строка
помещается в стек перед началом наших данных.
Поэтому для написания эксплойта придется
как-нибудь это обходить. Например, передавать
управление одной из функций, которая, в свою
очередь, переведёт точку исполнения порграммы в
начало переданного буфера сразу после строки
C:\TEMP. Дальнейшее использование кода может быть
различным. От диверсионных действий в лагере
противника 🙂 до загрузки на чужой компьютер
клиента удалённого доступа. Дерзайте :).

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии