Элементы <frame> и <iframe> могут содержать URL других
доменов или протоколов, поэтому для них
созданы более строгие правила защиты, которые предотвращают
доступ из фрейма одного домена к содержанию другого домена.

Есть несколько способов обратится к <iframe> (или <frame>) документам в Internet Explorer
(<iframe id="oFrameId">):

 - oFrameId.document
 - document.all.oFrameId.contentWindow.document
 - frames.oFrameId.document
 - И другие

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

Однако Microsoft пропустил одно важное свойство -
"Document". Обнаружено, что когда используется "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.

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

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

    Подписаться

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