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

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, draftspec )
НЕТ
НЕТ
НЕТ
ДА
НЕТ
НЕТ
НЕТ
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и т.д.
Alt text

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!

Сергей Сторчак

Персональный блог Сергея Сторчака