June 10, 2022

Обход CSP для исполнения JavaScript

E7 | TEAM

Приветсвуем!

В этой статье мы обсудим как обойти Content-Security-Policy для выполнения XSS атаки.

Введение:

CSP - политика безопасности для предотвращения исполнения стороннего JavaScript кода, атаки ClickJacking.

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

Основное:

Предположим у нас есть следующий заголовок:

Content-Security-Policy: script-src https://google.com 'unsafe-eval';

Здесь вместо обычного скрипта мы можем вставить скриптс base64:

<script src="data:;base64,YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=="></script>

Но искать и делать специальные скрипты для каждого заголовка никто не будет, поэтому есть анализатор заголовков который скажет что не так в CSP:

https://csp-evaluator.withgoogle.com/

В несколько кликов в интернете можно найти скрипт по запросу object-src [missing]

Вывод:

Хоть CSP и способен защитить от атак при правильной настройке, пологаться на него не стоит - совершить ошибку очень просто.

Рекомендуется использовать CSP вместе с фильтрацией всего пользовательского

ввода, а не вместо.

Внимание! Вся информация строго в ознакомительно-познавательных целях. Автор данной статьи, а также ресурс на котором он размещает данную статью, не несут ответственности за любые последствия от ее прочтения, а также за ваше плохое самочувствие, детей - двоечников и долги по ипотеке.