Разрешено все! Изучаем новую крутую технику обхода CSP - «Новости»
Google добавила режим Split View в Chrome и аннотации в PDF - «Новости мира Интернет»
Google добавила режим Split View в Chrome и аннотации в PDF - «Новости мира Интернет»
В Paint добавили функцию произвольного вращения области на любой угол - «Новости мира Интернет»
В Paint добавили функцию произвольного вращения области на любой угол - «Новости мира Интернет»
MacBook Pro на M6 получит OLED, сенсорный экран и Dynamic Island - «Новости мира Интернет»
MacBook Pro на M6 получит OLED, сенсорный экран и Dynamic Island - «Новости мира Интернет»
Что нового показали Samsung на Galaxy Unpacked 2026 - «Новости мира Интернет»
Что нового показали Samsung на Galaxy Unpacked 2026 - «Новости мира Интернет»
Самый дешёвый тариф YouTube Premium теперь предлагает фоновый режим и скачивание видео - «Новости сети»
Самый дешёвый тариф YouTube Premium теперь предлагает фоновый режим и скачивание видео - «Новости сети»
Twitch отказался от блокировок «всё или ничего» и разделил наказания - «Новости сети»
Twitch отказался от блокировок «всё или ничего» и разделил наказания - «Новости сети»
Китай намерен увеличить выпуск передовых чипов в 25 раз к концу десятилетия - «Новости сети»
Китай намерен увеличить выпуск передовых чипов в 25 раз к концу десятилетия - «Новости сети»
Тим Кук признался, что «спал с одним открытым глазом» после секретного брифинга ЦРУ о Тайване и TSMC - «Новости сети»
Тим Кук признался, что «спал с одним открытым глазом» после секретного брифинга ЦРУ о Тайване и TSMC - «Новости сети»
Суперсила, помноженная на два: в Японии IBM впервые смогла обеспечить бесшовную работу суперкомпьютера с квантовым - «Новости сети»
Суперсила, помноженная на два: в Японии IBM впервые смогла обеспечить бесшовную работу суперкомпьютера с квантовым - «Новости сети»
Что изменилось в Gemini Pro с обновлением до версии 3.1 - «Новости мира Интернет»
Что изменилось в Gemini Pro с обновлением до версии 3.1 - «Новости мира Интернет»
Новости мира Интернет » Новости » Разрешено все! Изучаем новую крутую технику обхода CSP - «Новости»

Содержание статьи

  • Ошибки сервера для обхода CSP
  • Как этого избежать
Политика защиты контента (CSP) — это механизм, встроенный в браузеры, который позволяет защититься от XSS-атак. Он описывает браузеру безопасные источники загрузки ресурсов, таких как jаvascript, стили, изображения, фреймы. Основной способ использования политики — блокировка недоверенных JS, что сводит к минимуму вероятность успешной эксплуатации XSS. Например, если в заголовке CSP указано загружать изображения только с текущего домена, то все теги со сторонними доменами будут проигнорированы. Но как провести полноценную атаку с кражей данных, если ничего нельзя отправлять на другие ресурсы?

Типичный пример использования CSP — это разрешение загрузки ресурсов с собственного домена (self) и разрешение выполнения инлайн-сценариев:


Content-Security-Policy: default-src 'self' 'unsafe-inline';

Такая политика подразумевает «запрещено все, что не разрешено». В данной конфигурации будет запрещено любое использование функций, выполняющих код в виде строки, таких как eval, setTimeout, setInterval, так как отсутствует настройка ‘unsafe-eval’.



Запрещено грузить любой контент с внешних источников, в том числе изображения, CSS, WebSocket. И конечно же, JS.


Разрешено все! Изучаем новую крутую технику обхода CSP - «Новости»
WWW

Для примера я специально оставил XSS в этом месте, задача — украсть секрет пользователя.




Но не стоит забывать, что self позволяет работать в контексте SOP в рамках этого домена, поэтому мы по-прежнему можем грузить сценарии, создавать фреймы, изображения. Если вспомнить о фреймах, то CSP распространяется и на фреймы, в том числе если в качестве протокола будет указан data, blob или будет сформирован фрейм с помощью атрибута srcdoc.




WARNING

Статья написана в исследовательских целях. Вся информация в ней носит ознакомительный характер. Ни автор, ни редакция не несет ответственности за неправомерное использование упомянутых в ней аппаратных платформ, программ и техник!





Можно ли выполнить JS в текстовом файле?


Для начала вспомним один трюк. Если современный браузер открывает изображение или какой-то текстовый файл, он автоматически преобразуется в HTML-страницу.



Это нужно для корректного отображения содержимого пользователю, чтобы у изображения был фон и она была расположена по центру. Но iframe также является окном! Поэтому открытые в нем файлы, которые отображаются в браузере, например favicon.ico или robots.txt, автоматически преобразуются в HTML, независимо от того, корректные ли в нем данные, главное — чтобы был правильный content-type.


Но что, если фрейм будет содержать страницу сайта, но уже без заголовка CSP? Вопрос риторический. Выполнит ли открытый фрейм без политики все JS, которые будут у него внутри? Если иметь XSS на странице, мы можем сами записать свой JS внутрь фрейма.


Для теста сформируем сценарий, который открывает iframe. Для примера возьмем bootstrap.min.css, путь к которому указан на странице выше.


Источник новостиgoogle.com

Содержание статьи Ошибки сервера для обхода CSP Как этого избежать Политика защиты контента (CSP) — это механизм, встроенный в браузеры, который позволяет защититься от XSS-атак. Он описывает браузеру безопасные источники загрузки ресурсов, таких как jаvascript, стили, изображения, фреймы. Основной способ использования политики — блокировка недоверенных JS, что сводит к минимуму вероятность успешной эксплуатации XSS. Например, если в заголовке CSP указано загружать изображения только с текущего домена, то все теги со сторонними доменами будут проигнорированы. Но как провести полноценную атаку с кражей данных, если ничего нельзя отправлять на другие ресурсы? Типичный пример использования CSP — это разрешение загрузки ресурсов с собственного домена (self) и разрешение выполнения инлайн-сценариев: Такая политика подразумевает «запрещено все, что не разрешено». В данной конфигурации будет запрещено любое использование функций, выполняющих код в виде строки, таких как eval, setTimeout, setInterval, так как отсутствует настройка ‘unsafe-eval’. Запрещено грузить любой контент с внешних источников, в том числе изображения, CSS, WebSocket. И конечно же, JS. WWW Для примера я специально оставил XSS в этом месте, задача — украсть секрет пользователя. Но не стоит забывать, что self позволяет работать в контексте SOP в рамках этого домена, поэтому мы по-прежнему можем грузить сценарии, создавать фреймы, изображения. Если вспомнить о фреймах, то CSP распространяется и на фреймы, в том числе если в качестве протокола будет указан data, blob или будет сформирован фрейм с помощью атрибута srcdoc. WARNING Статья написана в исследовательских целях. Вся информация в ней носит ознакомительный характер. Ни автор, ни редакция не несет ответственности за неправомерное использование упомянутых в ней аппаратных платформ, программ и техник! Можно ли выполнить JS в текстовом файле? Для начала вспомним один трюк. Если современный браузер открывает изображение или какой-то текстовый файл, он автоматически преобразуется в HTML-страницу. Это нужно для корректного отображения содержимого пользователю, чтобы у изображения был фон и она была расположена по центру. Но iframe также является окном! Поэтому открытые в нем файлы, которые отображаются в браузере, например favicon.ico или robots.txt, автоматически преобразуются в HTML, независимо от того, корректные ли в нем данные, главное — чтобы был правильный content-type. Но что, если фрейм будет содержать страницу сайта, но уже без заголовка CSP? Вопрос риторический. Выполнит ли открытый фрейм без политики все JS, которые будут у него внутри? Если иметь XSS на странице, мы можем сами записать свой JS внутрь фрейма. Для теста сформируем сценарий, который открывает iframe. Для примера возьмем bootstrap.min.css, путь к которому указан на странице выше. Источник новости - google.com

Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

запостил(а)
Miln
Вернуться назад
0

Смотрите также

А что там на главной? )))



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