пятница, 30 ноября 2012 г.

Browser Security Handbook. Глава 1, пункт 4


Руководство по безопасности браузеров (Browser Security Handbook). Глава 1



4. Псевдо-протоколы URL


В дополнение к вышеупомянутым подлинным URL-протоколам, современные браузеры поддерживают множество псевдо-протоколов, используемых для реализации дополнительных функций, таких как выделение в самостоятельный элемент  закодированных документов в URL-адресе, обеспечение действующих функций скриптов, предоставление доступа к внутренней информации браузера и представление данных.
Выделение протокола в самостоятельный элемент представляет интерес для любого приложения, обрабатывающего ссылки, т.к. эти методы обычно вводят нестандартный анализ содержания или режим рендеринга поверх уже существующих ресурсов, указанных в конце URL. Основное содержание извлекается с помощью HTTP, найденного в определенном месте (например, в file:///), или полученного с помощью другого обобщенного метода (и в зависимости от того, как эти данные будут потом обработаны), и может выполняться в контексте безопасности, связанного с происхождением этих данных. Например, URL-адрес jar:http://www.example.com/archive.jar!/resource.html будет восстановлен по http-протоколу из http://www.example.com/archive.jar.
Из-за выделения протокола в самостоятельный элемент, браузер будет пытаться обработать полученный файл как java-архив (JAR) и извлечь его, а затем отобразить /resource.html внутри этого архива, в рамках сайта example.com.
Общие выделения протоколов в самостоятельный элемент отражены в таблице 4.

Таблица 4

Название протокола
MSIE7
MSIE8
FF3
Safari
Opera
Chrome
Android
feed (RSS, draft spec)
НЕТ
НЕТ
НЕТ
ДА
НЕТ
НЕТ
НЕТ
hcp, its, mhtml, mk, ms-help, ms-its, ms-itss (Windows help archive parsing)
ДА
ДА
НЕТ
НЕТ
НЕТ
НЕТ
НЕТ
НЕТ
НЕТ
ДА
НЕТ
НЕТ
НЕТ
НЕТ
view-cache, wysiwyg (просмотр кэшированных страниц)
НЕТ
НЕТ
ДА
НЕТ
НЕТ
ДА
НЕТ
view-source (просмотр исходного кода страницы)
НЕТ
НЕТ
ДА
НЕТ
НЕТ
ДА
НЕТ
В дополнение к перечисленным существуют также протоколы, используемые для доступа к внутренним функциям браузера и не связанные с веб-контентом. В эти псевдо-протоколы входят: about: (предназначен для отображения информации о встроенных функциях, интерфейсах для настройки и пр.), moz-icon: (используется для доступа к файлу иконки), chrome:, chrome-resource:, chromewebdata:, resource:, res: и rdf: (используются для ссылки на встроенные ресурсы браузера; часто предоставляется с повышенными привилегиями). Как правило, веб-контенту не разрешается напрямую ссылаться на конфиденциальные данные, однако,  они могут быть атакованы на доверенных сайтах при уязвимости в браузере.
И, наконец, существуют псевдо-протоколы, которые разрешают выполнять скрипты или передавать данные, содержащиеся в URL, унаследованные от абонента. Таким образом,  злоумышленник может получить доступ к конфиденциальной информации сайта. Известные протоколы этого типа представлены в таблице 5:

Таблица 5

Имя протокола
MSIE6
MSIE7
MSIE8
FF2
FF3
Safari
Opera
Chrome
Android
data (RFC 2397)
НЕТ
НЕТ
ДА
ДА
ДА
ДА
ДА
ДА
javascript (web scripting)
ДА
ДА
ДА
ДА
ДА
ДА
ДА
ДА
ДА
ДА
ДА
ДА
НЕТ
НЕТ
НЕТ
НЕТ
НЕТ
НЕТ
Примечание:  Эти  протоколы имеют и другие названия: псевдонимы для JavaScript - livescript и mocha – протоколы, которые  поддерживались Netscape Navigator и другими ранними браузерами; local работал в некоторых браузерах в качестве псевдонима для file и т.д.

2 комментария:

  1. IMO, правильнее было бы не "ложные", а "мнимые" или "псевдо" (как в оригинале). Ложного в них ничего нет, отдают в ответ на запрос правду и только правду)

    ОтветитьУдалить