Security Lab

Доступ к данным других доменов в Internet Explorer

Дата публикации:16.10.2002
Всего просмотров:1679
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание: Элементы <frame> и <iframe> могут содержать URL в других доменах или протоколах, и поэтому имеют более строгие правила защиты, которые предотвращают фреймы одного домена, чтобы обратиться к содержанию другого домена.

Есть несколько способов обратится к <iframe> (или or <frame>) документам в Internet Explorer (допуская <iframe id="oFrameId">):
* oFrameId.document
* document.all.oFrameId.contentWindow.document
* frames.oFrameId.document
* И другие

Все эти методы правильно обрабатываются Internet Explorer и предотвращают любую попытку обратиться к документу, который принадлежит другому домену.

Однако Microsoft пропустил одно важное свойство - "Document". Обычно, "oElement.document" используется, чтобы обеспечить ссылку к документу, который принадлежит текущему элементу. То же самое распространяется и на элементы <frame> и <iframe>. Обнаружено, что когда используется "oIFrameElement.Document", и возращенный документ содержится внутри frame, не происходит никаких проверок защиты, находится ли документ в другом домене.
Уязвимость позволяет атакующему получить доступ к DOM другого домена, и украсть куки любого сайта, читать локальные файлы и выполнять произвольный код на системе клиента.
Пример(читает куки google.com):
<script language="jscript">
onload=function () {
    // Timer necessary to prevent weird behavior in some conditions
    setTimeout(
        function () {
            alert(document.getElementById("oVictim").Document.cookie);
        },
        100
    );
}
</script>
<iframe src="http://google.com" id="oVictim"></iframe>


Уязвимость обнаружена в Internet Explorer 5.5sp2-6.0
Ссылки: Internet Explorer : The D-Day