Элементы <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.



Оставить мнение