Политика безопасности контента
Политика безопасности контента инструмент, который разработчики могут использовать для блокировки своих приложений различными способами, снижая риск таких уязвимостей, как межсайтовый скриптинг,и снижение привилегий, с которыми выполняются их приложения.
CSP не предназначен в качестве первой линии защиты от уязвимостей внедрения контента.Вместо этого CSP лучше всего использовать в качестве углубленной защиты.Это уменьшает вред, который может причинить вредоносная инъекция, но не является заменой для тщательной проверки ввода и кодировки вывода.
Директивы политики безопасности контента
Согласно Директивы политики безопасности контента Чтобы снизить риск атак с использованием межсайтовых сценариев, веб-разработчики должны включать директивы, регулирующие источники сценариев и подключаемых модулей.Они могут сделать это, включив:
В любом случае разработчики не должны включать либо 'unsafe-inline'
, либо data:
в качестве допустимых источников в свои политики.Оба включают атаки XSS, позволяя включать код непосредственно в сам документ;Лучше всего их избегать полностью.
Политика безопасности содержимого Chrome
Чтобы уменьшить большой класс потенциальных проблем межсайтового скриптинга, в систему расширений Chrome включена общая концепция политики безопасности контента (CSP).Это вводит некоторые довольно строгие политики, которые делают расширения более безопасными по умолчанию, и дает вам возможность создавать и применять правила, управляющие типами контента, который может загружаться и выполняться вашими расширениями и приложениями.
InВ общем, CSP работает как механизм блокировки / разрешения для ресурсов, загружаемых или выполняемых вашими расширениями.Определение разумной политики для вашего расширения позволяет вам тщательно рассмотреть ресурсы, которые требуются вашему расширению, и попросить браузер убедиться, что это единственные ресурсы, к которым у вашего расширения есть доступ.Эти политики обеспечивают безопасность сверх разрешений хоста ваших запросов на расширение;это дополнительный уровень защиты, а не замена.
В Интернете такая политика определяется с помощью заголовка HTTP или метаэлемента.Внутри системы расширения Chrome также нет подходящего механизма.Вместо этого политика расширения определяется через файл manifest.json расширения следующим образом:
{
...,
"content_security_policy": "[POLICY STRING GOES HERE]"
...
}
Решение
- Создание нового Профиль Chrome
- Перейдите на страницу расширения для Отключите Content-Security-Policy и Добавьте в Chrome навсегда.
Используйте тот же настроенный Chrome Profile вместе с расширением при запуске скрипта:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("user-data-dir=C:\\Users\\user_name\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2")
driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', chrome_options=options)
driver.get("https://www.google.co.in")
tl;dr