Подводные камни AppCache. Как злодеи идентифицируют статус кросс-доменных ресурсов

Механизм AppCache позволяет веб-приложениям кешировать ресурсы в локальном хранилище твоего браузера. Это дает им возможность взаимодействовать с тобой даже в автономном режиме. Но когда через AppCache кешируются кросс-доменные ресурсы, возникает серьезный риск утечки конфиденциальной информации. Давай разберемся, как это происходит.

Что такое CORSIDA?

Аббревиатура CORSIDA придумана мной и расшифровывается как Cross-Origin Resource Status Identification Attack. Суть CORSIDA заключается в идентификации статуса кросс-доменных ресурсов посредством злоупотребления манифестом AppCache: URL существует, редирект, ошибка.

Пример манифеста AppCache

CORSIDA схожа с CSRF. Выполняя CORSIDA, злодей стремится заполучить твою конфиденциальную информацию, косвенно хранящуюся в браузере. Для этого ему нужно, чтобы ты посетил его сайт, страницы которого слегка вредоносны. И когда я говорю «слегка», я имею в виду, что они практически безобидны. На них нет и намека на эксплоиты, которые могли бы помочь злоумышленнику заполучить контроль над твоим браузером. Но эти слегка зараженные страницы содержат вполне допустимые теги HTML и скрипты для инклудинга кросс-доменного контента. Идентифицировать злонамеренное поведение такого вредоносного сайта возможно, но очень сложно.

INFO

Атака CORSIDA построена на злоупотреблении механизмом CORS, который современные браузеры используют, чтобы дать веб-страницам возможность получать доступ к ресурсам другого домена.

Чем опасна CORSIDA

Злодей может использовать базовую версию CORSIDA, чтобы определить, сохранен ли в твоем браузере логин и пароль веб-приложения. Часто, когда ты заходишь на свою личную страницу, то или иное приложение делает условный редирект: если в браузере нет логина и пароля, то происходит редирект на страницу залогинивания, а если есть, то не происходит.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


"Владимир Карев : Инженер с 50-летним стажем. Окончил ТУСУР в 73-м. Карьеру свою начинал с работы на алтайском военном заводе РОТОР, где разрабатывал навигационную электронику для бортового вооружения подлодок. С вычислительной техникой имею дело ещё с тех пор, когда она была ламповой. Свой первый ZX Spectrum спаял самостоятельно. Если есть вопросы, не стесняйтесь писать в комментариях. А ещё лучше на электронную почту: vladimir.tech@mail.ru.."

Комментарии (1)