Обход CSP для исполнения JavaScript
В этой статье мы обсудим как обойти 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 вместе с фильтрацией всего пользовательского
Внимание! Вся информация строго в ознакомительно-познавательных целях. Автор данной статьи, а также ресурс на котором он размещает данную статью, не несут ответственности за любые последствия от ее прочтения, а также за ваше плохое самочувствие, детей - двоечников и долги по ипотеке.