Описываемая реализация представляет собой замечательный
Описываемая реализация представляет собой замечательный пример. В исходном файле дескриптор I FRAME служит для задания локального файла. Затем в I FRAME вставляется код JavaScript, который выполняется в домене файловой системы. Если нечестный оператор Web-узла знает имя файла (или может о нем догадаться) и его местоположение, то при желании он сможет просмотреть файл любого типа, который может быть открыт в окне броузера. Например, файл winnt\repair\sam._ таким способом прочитать не удастся, поскольку при этом на экран будет выведено диалоговое окно загрузки файла IE. Георгий представил пример кода, который считывает файл C:\test.txt (при условии, что он существует на диске пользователя).
Контрмеры
Установите модуль обновления, который можно найти по адресу http://www. microsoft.com/technet/security/bulletin/ms99-042.asp. Можно также отключить режим использования активных сценариев с помощью процедуры, описанной в разделе "Разумное Использование Зон Безопасности: Общее Решение Проблемы Элементов ActiveX".
Проверка принадлежности к доменам Internet Explorer
В июне 2000 года Эндрю Носенко (Andrew Nosenko) из компании Mead & Company сообщил о том, что в Internet Explorer две функции не выполняют надлежащую проверку принадлежности к домену. Это позволяет создать такую страницу HTML, которая открывала бы фрейм с локальным файлом и могла читать этот файл . В стремлении быть непревзойденным, Георгий Гунински тоже поместил на своем узле сообщение о подобной уязвимости. Код Георгия поражает обманчивой простотой.
<IFRAME ID="I1"X/IFRAME>
<SCRIPT for=Ii event="
NavigateComplete2(b)">
alert("Here is your file:
\n"+b.document.body.innerText);
</SCRIPT>
<SCRIPT>
II.navigate ( "file://c:/test.txt");
setTimeout('II.navigate
("file://c:/test.txt";',1000);
</SCRIPT>
Как и в предыдущем случае, в качестве цели был избран файл test. Но с таким же успехом можно считать любой другой файл системы пользователя, который можно просмотреть в броузере. Для этого нужно внести соответствующие изменения в строку file://с:/test.txt.
Контрмеры
Примените модуль обновления, который можно найти по адресу http://www. microsoft.com/technet/security/bulletin/fq00-033.asp. Как и в предыдущих случаях, альтернативной мерой является отключение активных сценариев. Эта предосторожность значительно ограничит функциональные возможности Web-узлов, работа которых основана на применении сценариев (см. раздел, посвященный зонам безопасности).