Внедрение сценария - это уязвимость системы безопасности, серьезная угроза безопасности, которая позволяет злоумышленнику внедрить вредоносный код в пользовательский интерфейс веб-сайта, управляемого данными.

Конечно, вы бы включили заголовки CSP и должны были бы предположить, что ваш сайт теперь безопасен, но на самом деле это не так!

Знаете ли вы?

Расширения браузера могут обходить CSP (политику безопасности контента)

Можно программно внедрить контент через расширения в ваше приложение, и вы даже не узнаете об этом!

Рекламные инжекторы и другие злоумышленники используют расширения браузера в качестве одного из основных способов внедрения кода, который использует ваше приложение, ориентированное на данные, и позволяет им обходить серверные решения безопасности, включая CSP.

Нет ничего плохого в том, что они делают. В документе спецификации W3C четко изложены эти соображения по реализации.

так ... ты почувствовал себя обманутым !? Ну .. больше нет.

Вы не можете остановить такие атаки, но можете легко их обнаружить и в конечном итоге предпринять желаемые действия.

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

Теперь, когда у вас есть код, просто вызовите его в своем файле JavaScript.

//call
scriptDetection(['hello.com']); // pass the array of whitelisted host names

Это вернет вам список всех имен хостов, которые не совпадают с набором хостов из белого списка, которыми вы совместно пользуетесь.

Теперь вы можете использовать их по своему усмотрению, и все готово!

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

Держать его в безопасности!