Cascading Style Sheets (Таблицы Каскадных Стилей) - это язык, содержащий набор свойств для описания внешнего вида любых HTML документов. CSS может быть внедрен несколькими способами, один из них
может использовать внешний файл и
связать его с документом. Это можно сделать используя редко
применяемое CSS правило @import.
Использование cssText свойства таблицы стилей, позволяет читать части и иногда целые файлы на локальной или удаленной системе.
Почти любой файл, который содержит символ ("{"), будет
в IE проанализирован как CSS и используя свойство cssText, можно прочитать его содержание.
Проблема состоит в том, что недопустимые CSS признаки сохраняются в пределах cssText свойства даже при том, что они не имеют никакого функционального
смысла, тем самым они позволяют злонамеренным программистам обращаются к ним.
Проблема позволяет эффективно раскрывать некоторые типы файлов на локальном диске,
например исходные коды С подобных программ(Java, Perl, C#) и конфигурацию некоторых сервисов (например DNS).
Уязвимость найдена в Interner Explorer 5.5-6.0
Пример:
Этот пример позволяет раскрыть содержание файла c:/test.txt (файл должен содержать символ ("{")).
<link id="oFile" rel="stylesheet"
href="file://c:/test.txt" disabled>
<script language="jscript">
onload=function () {
alert(document.styleSheets.oFile.cssText || "Could not extract any text from
file.");
}
</script>
