27 Фев, 2023

Неправильная настройка совместного использования ресурсов из разных источников (CORS)

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

Совместное использование ресурсов из разных источников (CORS) это механизм, реализуемый веб-браузерами, который позволяет веб-приложениям, работающим в разных доменах, получать доступ к ресурсам друг друга, таким как изображения, скрипты и данные. CORS работает путем добавления HTTP-заголовков к запросам и ответам, чтобы указать, каким доменам разрешен доступ к ресурсам.

Неправильная настройка CORS возникает, когда политика CORS веб-приложения настроена неправильно, что позволяет несанкционированным доменам получать доступ к его ресурсам. Это может привести к уязвимостям в системе безопасности, таким как кража или утечка данных, а также к другому неожиданному поведению.

Пример уязвимого кода на разных языках программирования:


в JavaScript:

				
					// Allow all domains to access resources
app.use(function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  next();
});

// Only allow a specific domain to access resources
app.use(function(req, res, next) {
  res.header('Access-Control-Allow-Origin', 'https://www.example.com');
  next();
});

				
			


В этом примере a Node.js приложение использует app.use() функция промежуточного программного обеспечения для установки Access-Control-Allow-Origin заголовок для CORS. Первый пример позволяет всем доменам получать доступ к ресурсам, установив заголовок равным *, который является подстановочным знаком, означающим, что любой домен может получить доступ к ресурсам. Это опасная практика, поскольку она позволяет любому веб-сайту получать доступ к ресурсам приложения, что потенциально может привести к уязвимостям в системе безопасности.

• в Python (с использованием Flask):

				
					# Allow all domains to access resources
from flask_cors import CORS
app = Flask(__name__)
CORS(app)

# Only allow a specific domain to access resources
from flask_cors import CORS
app = Flask(__name__)
CORS(app, resources={r"/api/*": {"origins": "https://www.example.com"}})

				
			


В этом примере приложение Flask использует flask_cors расширение для установки политики CORS. Первый пример позволяет всем доменам получать доступ к ресурсам, вызывая CORS() функция без каких-либо аргументов, которая по умолчанию разрешает все домены. Это опасная практика, поскольку она позволяет любому веб-сайту получать доступ к ресурсам приложения, что потенциально может привести к уязвимостям в системе безопасности.

• в PHP:

				
					// Allow all domains to access resources
header('Access-Control-Allow-Origin: *');

// Only allow a specific domain to access resources
header('Access-Control-Allow-Origin: https://www.example.com');

				
			


В этом примере PHP-скрипт использует header() функция для установки Access-Control-Allow-Origin заголовок для CORS. Первый пример позволяет всем доменам получать доступ к ресурсам, установив заголовок равным *, который является подстановочным знаком, означающим, что любой домен может получить доступ к ресурсам. Это опасная практика, поскольку она позволяет любому веб-сайту получать доступ к ресурсам приложения, что потенциально может привести к уязвимостям в системе безопасности.

Примеры неправильной настройки совместного использования ресурсов из разных источников (CORS)

Подделка межсайтовых запросов (CSRF):

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

Межсайтовый скриптинг (XSS):

Злоумышленник может использовать XSS-атаку для внедрения вредоносного кода на уязвимый веб-сайт, который затем выполняется браузером жертвы. Используя неправильную конфигурацию CORS, злоумышленник может отправить запрос на уязвимый веб-сайт из другого домена и получить доступ к конфиденциальной информации или выполнить действия, которые ограничены доменом жертвы.

Кража данных:

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

Обход аутентификации:

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

Методы повышения привилегий для неправильной настройки совместного использования ресурсов из разных источников (CORS)

Изменение запроса:

Злоумышленник может изменить заголовки HTTP-запроса, чтобы обойти политику CORS и получить доступ к ограниченным ресурсам. Например, злоумышленник может добавить заголовок “Origin” к запросу, чтобы создать впечатление, что он исходит из доверенного домена.

Запрос контрабанды:

Злоумышленник может использовать методы контрабанды запросов, чтобы обойти политику CORS и получить доступ к ограниченным ресурсам. Например, злоумышленник может использовать атаку с разделением HTTP-запроса, чтобы внедрить второй запрос, содержащий допустимый исходный заголовок, который будет использоваться сервером для определения политики CORS.

Повторная привязка DNS:

Злоумышленник может использовать методы повторной привязки DNS, чтобы обойти политику того же источника и получить доступ к ограниченным ресурсам. Например, злоумышленник может использовать атаку с повторной привязкой DNS, чтобы обманом заставить браузер жертвы отправить запрос на уязвимый веб-сайт с доверенным доменом.

Оформление домена:

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

Использование обходных путей:

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

Общая методология и контрольный список для неправильного конфигурирования совместного использования ресурсов из разных источников (CORS)

Методология:

  1. Определите целевой веб-сайт или приложение: Первым шагом в тестировании на неправильную конфигурацию CORS является определение целевого веб-сайта или приложения. Это можно сделать с помощью ручной разведки или с помощью таких инструментов, как сканеры веб-приложений или поисковые системы.

  2. Проанализируйте политику CORS: После определения целевого веб-сайта или приложения следующим шагом является анализ политики CORS. Это можно сделать, изучив заголовки HTTP-ответов или используя инструменты разработчика браузера для проверки запросов и ответов.

  3. Проверка на наличие неправильных настроек: После анализа политики CORS следующим шагом будет проверка на наличие неправильных настроек. Это можно сделать, отправив запросы с разными исходными заголовками и проанализировав ответы. Если заголовки ответов разрешают запросы из любого источника или разрешают определенные методы или заголовки, которые должны быть ограничены, то существует неправильная конфигурация, которая может быть использована.

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

  5. Отчет и исправление: Последним шагом в тестировании на неправильную конфигурацию CORS является сообщение об уязвимости владельцу веб-сайта или приложения и предоставление рекомендаций по исправлению. Это может включать настройку политики CORS на более строгий характер, внедрение дополнительных мер безопасности, таких как защита CSRF и проверка входных данных, или использование брандмауэра веб-приложений для блокировки вредоносных запросов.

Контрольный список:

  1. Определите целевой веб-сайт или приложение и их функциональность.

  2. Определите конечные точки, которые поддерживают CORS, и проанализируйте политику CORS, проверив заголовки HTTP-ответов или используя инструменты разработчика браузера.

  3. Протестируйте политику CORS, отправив запросы с разными исходными заголовками, чтобы узнать, разрешены или ограничены запросы.

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

  5. Проверка на использование путем отправки запросов с вредоносной полезной нагрузкой или попытки обойти политику CORS с использованием таких методов, как модификация запроса, контрабанда запросов, повторная привязка DNS, подключение к домену и известные обходные пути.

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

  7. Предоставьте рекомендации по исправлению, такие как настройка политики CORS на более строгий характер, внедрение дополнительных мер безопасности, таких как защита CSRF и проверка входных данных, или использование брандмауэра веб-приложений для блокировки вредоносных запросов.

  8. Повторно протестируйте приложение после исправления, чтобы убедиться, что уязвимости были устранены должным образом.

Набор инструментов для эксплуатации Неправильная настройка совместного использования ресурсов из разных источников (CORS)

Автоматизированные инструменты:

  • Сканер неправильной конфигурации CORS: Сканер веб-приложений, который может обнаруживать неправильные настройки CORS, отправляя запросы с разными исходными заголовками и анализируя ответы.

  • Burp Suite: Популярный инструмент тестирования веб-приложений, который включает встроенный сканер CORS и может использоваться для проверки неправильных настроек CORS.

  • OWASP ZAP: Бесплатный сканер веб-приложений с открытым исходным кодом, который может обнаруживать неправильные настройки CORS и другие уязвимости.

  • Nmap: Инструмент исследования сети и сканирования уязвимостей, который включает в себя сценарий для обнаружения неправильных настроек CORS.

  • Nikto: Сканер веб-сервера, который может обнаруживать неправильные настройки CORS и другие уязвимости.

  • Qualys: Облачная платформа управления уязвимостями, которая включает в себя сканер для обнаружения неправильных настроек CORS.

  • Acunetix: Сканер веб-уязвимостей, который может обнаруживать неправильные настройки CORS и другие уязвимости.

  • Vega: Сканер веб-приложений с открытым исходным кодом, который может обнаруживать неправильные настройки CORS и другие уязвимости.

  • Netsparker: Сканер безопасности веб-приложений, который может обнаруживать неправильные настройки CORS и другие уязвимости.

  • Skipfish: Сканер безопасности веб-приложений, который может обнаруживать неправильные настройки CORS и другие уязвимости.

Ручные Инструменты:

  • Browser developer tools: Большинство современных веб-браузеров включают инструменты разработчика, которые можно использовать для проверки запросов и ответов, включая заголовки CORS.

  • curl: Инструмент командной строки для отправки HTTP-запросов, который можно использовать для проверки неправильных настроек CORS путем изменения исходного заголовка.

  • Postman: Популярный инструмент для тестирования API-интерфейсов, который можно использовать для проверки неправильных настроек CORS путем отправки запросов с разными исходными заголовками.

  • Tamper Data: Плагин Firefox, который можно использовать для изменения HTTP-запросов и ответов и проверки на неправильные настройки CORS.

  • Fiddler: Прокси-сервер веб-отладки, который можно использовать для проверки неправильных настроек CORS путем изменения запросов и анализа ответов.

  • Charles Proxy: Прокси-сервер веб-отладки, который можно использовать для проверки неправильных настроек CORS путем изменения запросов и анализа ответов.

  • Mitmproxy: Бесплатный веб-прокси с открытым исходным кодом, который можно использовать для проверки неправильных настроек CORS путем перехвата и изменения запросов и ответов.

  • HTTPie: Инструмент командной строки для отправки HTTP-запросов, который можно использовать для проверки неправильных настроек CORS путем изменения исходного заголовка.

  • Chrome extension “CORS Unblock”: Расширение для браузера, которое можно использовать для обхода ограничений CORS на веб-сайтах.

  • Firefox extension “CORS Everywhere”: Расширение для браузера, которое можно использовать для добавления заголовков CORS к HTTP-запросам в обход ограничений на веб-сайтах.

Средний балл CVSS Неправильная конфигурация совместного использования ресурсов стека из разных источников (CORS)

Общая система оценки уязвимостей (CVSS) обеспечивает основу для оценки серьезности уязвимостей на основе их воздействия и возможности использования. Оценка CVSS колеблется от 0 до 10, причем 10 баллов являются самыми серьезными.

Оценка CVSS для конкретной уязвимости с неправильной конфигурацией CORS зависит от воздействия, которое она оказывает на систему, простоты использования уязвимости и других факторов, таких как тип данных, к которым можно получить доступ или изменить.

Однако трудно дать среднюю оценку CVSS для уязвимостей с неправильной конфигурацией CORS, поскольку они могут сильно различаться по степени серьезности в зависимости от конкретной уязвимости и контекста, в котором она возникает.

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

Общее перечисление слабых мест (CWE)

CWE-942: неправильная нейтрализация специальных элементов, используемых в поле заголовка HTTP. Этот CWE охватывает ситуации, когда ненадежные входные данные используются для создания полей заголовка HTTP, которые могут быть использованы для внедрения вредоносных заголовков, которые обходят ограничения CORS.

CWE-943: неправильная нейтрализация специальных элементов, используемых в HTTP Cookie. Этот CWE охватывает ситуации, когда ненадежные входные данные используются для создания HTTP-файлов cookie, которые могут быть использованы для обхода ограничений CORS и кражи конфиденциальных данных.

CWE-997: использование криптографически слабого генератора псевдослучайных чисел (PRNG). Этот CWE охватывает ситуации, когда слабый или предсказуемый PRNG используется для генерации критически важных для безопасности значений, которые могут быть использованы для обхода ограничений CORS или выполнения других атак.

CWE-116: Неправильное кодирование или экранирование выходных данных. Этот CWE охватывает ситуации, когда пользовательский ввод не обрабатывается должным образом или не кодируется при включении в выходные данные, что может быть использовано для внедрения вредоносных сценариев, которые обходят ограничения CORS.

CWE-200: Информационное воздействие. Этот CWE охватывает ситуации, когда происходит утечка конфиденциальной информации, которая может быть результатом неправильной настройки CORS, допускающей несанкционированный доступ к конфиденциальным данным.

CWE-250: выполнение с ненужными привилегиями. Этот CWE охватывает ситуации, когда процесс или приложение имеют больше привилегий, чем им нужно

CWE-352: Подделка межсайтовых запросов (CSRF). Этот CWE охватывает ситуации, когда злоумышленник обманом заставляет жертву выполнить действие на веб-сайте, на котором они аутентифицируются, что может быть использовано с помощью неправильной конфигурации CORS для обхода ограничений политики того же происхождения.

CWE-434: неограниченная загрузка файла с опасным типом. Этот CWE охватывает ситуации, когда функция загрузки файла неправильно проверяет тип или содержимое загруженного файла, что может быть использовано с помощью неправильной конфигурации CORS для загрузки и выполнения вредоносных сценариев.

CWE-601: перенаправление URL-адреса на ненадежный сайт (‘Открыть перенаправление’). Этот CWE охватывает ситуации, когда веб-приложение выполняет перенаправление на ненадежный сайт, который может быть использован с помощью неправильной конфигурации CORS для обхода ограничений политики того же источника.

CWE-807: Зависимость от ненадежных входных данных при принятии решения о безопасности. Этот CWE охватывает ситуации, когда критически важное для безопасности решение принимается на основе ненадежных входных данных, которые могут быть использованы с помощью неправильной конфигурации CORS для обхода контроля доступа или выполнения несанкционированных действий.

Топ-10 CVE, связанных с неправильной конфигурацией совместного использования ресурсов разных источников (CORS)

CVE-2022-47717 – Последний ярд 22.09.8-1 уязвим для совместного использования ресурсов из разных источников (CORS)

CVE-2022-30228 – Обнаружена уязвимость в SICAM GridEdge Essential ARM (все версии

CVE-2022-26137 – Уязвимость в нескольких продуктах Atlassian позволяет удаленному злоумышленнику, не прошедшему проверку подлинности, вызывать дополнительные фильтры сервлетов, когда приложение обрабатывает запросы или ответы. Atlassian подтвердил и исправил единственную известную проблему безопасности, связанную с этой уязвимостью: обход совместного использования ресурсов (CORS). Отправка специально созданного HTTP-запроса может вызвать фильтр сервлетов, используемый для ответа на запросы CORS, что приводит к обходу CORS. Злоумышленник, который может обманом заставить пользователя запросить вредоносный URL-адрес, может получить доступ к уязвимому приложению с разрешениями жертвы.

CVE-2022-25227 – Thinfinity VNC v4.0.0.1 содержит уязвимость совместного использования ресурсов разных источников (CORS), которая может позволить непривилегированному удаленному злоумышленнику, если он может обманом заставить пользователя просматривать вредоносный сайт, получить "идентификатор", который можно использовать для отправки запросов websocket и достижения RCE.

CVE-2022-21817 – NVIDIA Omniverse Launcher содержит уязвимость совместного использования ресурсов разных источников (CORS), которая может позволить непривилегированному удаленному злоумышленнику, если он может заставить пользователя просматривать вредоносный сайт, получить токены доступа, позволяющие им получать доступ к ресурсам в других доменах безопасности, что может привести к выполнению кода, повышению привилегий и влиянию за конфиденциальность и честность.

CVE-2021-39063 – IBM Spectrum Protect Plus с 10.1.0.0 по 10.1.8.x использует совместное использование ресурсов из разных источников (CORS), что может позволить злоумышленнику выполнять привилегированные действия и извлекать конфиденциальную информацию из-за неправильной настройки заголовков управления доступом. Идентификатор IBM X-Force: 214956.

CVE-2021-38928 – IBM Sterling B2B Integrator Standard Edition с 6.0.0.0 по 6.1.2.1 использует совместное использование ресурсов из разных источников (CORS), что может позволить злоумышленнику выполнять привилегированные действия и получать конфиденциальную информацию, поскольку доменное имя не ограничивается только доверенными доменами. Идентификатор IBM X-Force: 210323.

CVE-2021-33330 – Liferay Portal с 7.2.0 по 7.3.2 и Liferay DXP 7.2 до fix pack 9 разрешают доступ к защищенным ресурсам с общим доступом к ресурсам разных источников (CORS), если пользователь аутентифицируется только с использованием аутентификации сеанса портала, что позволяет удаленным злоумышленникам получать конфиденциальную информацию, включая адрес электронной почты целевого пользователя и текущий токен CSRF.

CVE-2021-27786 – Совместное использование ресурсов из разных источников (CORS) позволяет браузерам выполнять междоменные запросы контролируемым образом. Этот запрос имеет исходный заголовок, который идентифицирует домен, который делает первоначальный запрос, и определяет протокол между браузером и сервером, чтобы узнать, разрешен ли запрос. Злоумышленник может воспользоваться этим и, возможно, выполнить привилегированные действия и получить доступ к конфиденциальной информации, когда включен контроль доступа-Разрешить-учетные данные.

CVE-2021-26991 – Версии Cloud Manager до версии 3.9.4 содержат небезопасную политику совместного использования ресурсов разных источников (CORS), которая может позволить удаленному злоумышленнику взаимодействовать с Cloud Manager.

Неправильная настройка совместного использования ресурсов из разных источников (CORS) подвиги

  • Атаки с использованием межсайтовых сценариев (XSS): Злоумышленник может внедрить вредоносные скрипты на уязвимый веб-сайт, которые обходят ограничения CORS и крадут конфиденциальные данные с других сайтов, на которых проходит аутентификацию пользователь.

  • Атаки на подделку межсайтовых запросов (CSRF): Злоумышленник может использовать неправильную конфигурацию CORS, чтобы обойти ограничения политики того же источника и обманом заставить жертву выполнить действие на веб-сайте, на котором она аутентифицирована, например, произвести платеж или изменить свой пароль.

  • Утечка конфиденциальных данных: Злоумышленник может использовать неправильную конфигурацию CORS для обхода ограничений политики того же источника и кражи конфиденциальных данных с других сайтов, на которых проходит аутентификацию пользователь.

  • Атаки с кликджекингом: Злоумышленник может использовать неправильную конфигурацию CORS для отображения уязвимого сайта в iframe на вредоносном сайте и обманом заставить пользователя нажимать на кнопки или ссылки, которые выполняют несанкционированные действия на уязвимом сайте.

  • Несанкционированная загрузка файлов: Злоумышленник может использовать неправильную конфигурацию CORS для загрузки вредоносных файлов на уязвимый сайт, который затем может быть запущен для выполнения несанкционированных действий.

  • Обход CORS: Злоумышленник может использовать неправильную конфигурацию CORS для обхода ограничений политики того же источника и доступа к ресурсам, которые должны быть ограничены.

  • Перехват сеанса: Злоумышленник может использовать неправильную конфигурацию CORS для кражи сеансовых файлов cookie или других маркеров аутентификации и выдавать себя за жертву на других сайтах.

  • Взлом пароля: Злоумышленник может использовать неправильную конфигурацию CORS для обхода ограничений политики того же источника и выполнения атак со взломом пароля на уязвимом сайте.

Практикуясь в тестировании на Неправильная настройка совместного использования ресурсов из разных источников (CORS)

Практикуйтесь на намеренно уязвимых веб-сайтах: Существует множество преднамеренно уязвимых веб-сайтов, таких как OWASP Mutillidae II, которые были разработаны специально для изучения и практического применения безопасности веб-приложений. На этих сайтах часто встроены неправильные настройки CORS, что может быть отличным способом попрактиковаться в выявлении и использовании этих уязвимостей.

Используйте автоматизированные инструменты: Существует множество автоматизированных инструментов, таких как Burp Suite, OWASP ZAP и Nmap, которые могут помочь вам выявить неправильные настройки CORS на веб-сайтах. Эти инструменты могут сэкономить ваше время и помочь выявить уязвимости, которые вы могли бы пропустить, если бы проводили тестирование вручную.

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

Участвуйте в CTFs и программах вознаграждения за ошибки: Соревнования Capture the Flag (CTF) и программы вознаграждения за ошибки часто сталкиваются с проблемами, связанными с неправильными настройками CORS. Участие в этих мероприятиях может стать отличным способом получить практический опыт выявления и использования этих уязвимостей.

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

Для изучения неправильного конфигурирования совместного использования ресурсов из разных источников (CORS)

OWASP Top Ten: Первая десятка OWASP - это список наиболее критичных угроз безопасности веб-приложений, и неправильная конфигурация совместного использования ресурсов (CORS) из разных источников является одной из уязвимостей в списке. Веб-сайт OWASP содержит подробное объяснение уязвимости и способов ее предотвращения.

Веб-безопасность Mozilla: Mozilla Web Security предоставляет полное руководство по веб-безопасности, включая раздел о неправильной настройке совместного использования ресурсов разных источников (CORS). В руководстве рассматриваются основы уязвимости, а также способы ее выявления и предотвращения.

Академия веб-безопасности PortSwigger: Академия веб-безопасности PortSwigger предоставляет бесплатный онлайн-курс по безопасности веб-приложений. Курс охватывает целый ряд тем, включая неправильную конфигурацию совместного использования ресурсов из разных источников (CORS).

ПентестерЛаб: PentesterLab предоставляет практическое обучение безопасности веб-приложений, включая модуль по неправильной настройке совместного использования ресурсов между источниками (CORS). Модуль включает в себя как теоретические, так и практические упражнения, позволяющие вам проверить свои знания в безопасной среде.

YouTube: На YouTube доступно множество видеороликов, в которых рассказывается о неправильной настройке совместного использования ресурсов разных источников (CORS). Некоторые из этих видеороликов содержат подробные объяснения уязвимости, в то время как другие демонстрируют, как ее использовать.

Книги с обзором неправильной конфигурации совместного использования ресурсов разных источников (CORS)

Безопасность веб-приложений: Руководство для начинающих Брайан Салливан: В этой книге представлен обзор безопасности веб-приложений, включая раздел о неправильной конфигурации совместного использования ресурсов (CORS). Книга предназначена для начинающих и охватывает как теоретические, так и практические аспекты безопасности веб-приложений.

Запутанная сеть: руководство по обеспечению безопасности современных веб-приложений Михал Залевски: В этой книге подробно рассматривается безопасность веб-приложений, включая раздел о неправильной конфигурации совместного использования ресурсов (CORS). Книга охватывает широкий круг вопросов веб-безопасности и предназначена для специалистов в области безопасности.

Поиск ошибок в реальном мире: практическое руководство по веб-хакингу Питер Яворски: Эта книга представляет собой практическое руководство по безопасности веб-приложений, включая раздел о неправильной конфигурации совместного использования ресурсов (CORS). Книга включает реальные примеры и предназначена как для начинающих, так и для опытных хакеров.

Руководство хакера веб-приложений: поиск и использование недостатков безопасности Дэфидд Штуттард и Маркус Пинто: Эта книга представляет собой всеобъемлющее руководство по безопасности веб-приложений, включая раздел о неправильной конфигурации совместного использования ресурсов (CORS). Книга охватывает широкий круг вопросов веб-безопасности и предназначена для специалистов в области безопасности.

Взлом веб-приложений: обнаружение и предотвращение проблем безопасности веб-приложений Майк Шема: Эта книга представляет собой практическое руководство по безопасности веб-приложений, включая раздел о неправильной конфигурации совместного использования ресурсов (CORS). Книга охватывает как теорию, так и практику веб-безопасности и предназначена как для начинающих, так и для опытных специалистов в области безопасности.

Основы веб-взлома: инструменты и методы для атаки в Интернете автор: Джош Паули: Эта книга представляет собой введение в безопасность веб-приложений, включая раздел о неправильной настройке совместного использования ресурсов разных источников (CORS). Книга охватывает целый ряд тем по веб-безопасности и предназначена для начинающих.

Взлом информационной безопасности: освоение основ 101 Джош Мор, Энтони Стибер и Крис Лью: Эта книга представляет собой введение в информационную безопасность, включая раздел о безопасности веб-приложений и неправильной настройке совместного использования ресурсов (CORS). Книга предназначена для начинающих и охватывает как теоретические, так и практические аспекты информационной безопасности.

Веб-взлом 101: Как заработать деньги, взламывая этично Питер Яворски: Эта книга представляет собой практическое руководство по безопасности веб-приложений, включая раздел о неправильной конфигурации совместного использования ресурсов (CORS). Книга рассчитана как на начинающих, так и на опытных хакеров и включает реальные примеры.

Освоение современного веб-тестирования на Проникновение автор: Пракхар Прасад: Эта книга представляет собой всеобъемлющее руководство по безопасности веб-приложений, включая раздел о неправильной настройке совместного использования ресурсов (CORS). Книга охватывает широкий круг вопросов веб-безопасности и предназначена для специалистов в области безопасности.

Black Hat Python: Программирование на Python для хакеров и пентестеров автор: Джастин Сейтц: В этой книге представлено практическое руководство по взлому с помощью Python, включая раздел о безопасности веб-приложений и неправильной настройке совместного использования ресурсов (CORS). Книга рассчитана на опытных хакеров и охватывает как теорию, так и практику веб-безопасности.

Неправильное конфигурирование списка полезных нагрузок при совместном использовании ресурсов разных источников (CORS)

  1. Базовая полезная нагрузка: Основная полезная нагрузка - это простой запрос, который может быть отправлен на сервер для проверки, не подвержен ли он неправильной конфигурации CORS. Полезная нагрузка обычно представляет собой HTTP-запрос с исходным заголовком, который указывает домен, отличный от запрашиваемого.

  2. Полезная нагрузка предполетного запроса: Предполетный запрос - это HTTP-запрос, который отправляется перед отправкой запроса из разных источников на сервер. Полезная нагрузка для предполетного запроса обычно включает HTTP-метод и заголовки, которые будут включены в фактический запрос с перекрестным отправлением.

  3. Полезная нагрузка ответа JSON: Полезная нагрузка ответа JSON - это полезная нагрузка, которая включает в себя данные JSON в ответе. Этот тип полезной нагрузки можно использовать для проверки того, уязвим ли сервер к утечке данных JSON.

  4. Полезная нагрузка HTML-ответа: Полезная нагрузка HTML-ответа - это полезная нагрузка, которая включает в себя HTML-данные в ответе. Этот тип полезной нагрузки можно использовать для проверки того, уязвим ли сервер к утечке HTML-данных.

  5. Полезная нагрузка кражи файлов cookie: Полезная нагрузка при краже файлов cookie - это полезная нагрузка, которая может быть использована для кражи файлов cookie с уязвимого сервера. Этот тип полезной нагрузки обычно включает отправку запроса из разных источников с заголовком источника, который задан для домена злоумышленника, вместе с запросом, который включает файлы cookie целевого сервера.

  6. Полезная нагрузка подделки запросов на стороне сервера (SSRF): Полезная нагрузка SSRF - это полезная нагрузка, которая может использоваться для запуска уязвимости подделки запросов на стороне сервера. Этот тип полезной нагрузки обычно включает отправку запроса из разных источников с исходным заголовком, который задан для уязвимого домена, вместе с запросом, который включает уязвимый URL.

  7. Полезная нагрузка межсайтового скриптинга (XSS): Полезная нагрузка XSS - это полезная нагрузка, которая может использоваться для запуска уязвимости межсайтового скриптинга. Этот тип полезной нагрузки обычно включает отправку запроса из разных источников с заголовком источника, который задан для уязвимого домена, вместе с запросом, который включает уязвимый параметр.

  8. Полезная нагрузка для включения файлов: Полезная нагрузка включения файла - это полезная нагрузка, которая может быть использована для запуска уязвимости при включении файла. Этот тип полезной нагрузки обычно включает отправку запроса из разных источников с заголовком источника, который задан для уязвимого домена, вместе с запросом, который включает уязвимый путь к файлу.

  9. Полезная нагрузка SQL-инъекции: Полезная нагрузка SQL-инъекции - это полезная нагрузка, которая может быть использована для запуска уязвимости SQL-инъекции. Этот тип полезной нагрузки обычно включает отправку запроса из разных источников с исходным заголовком, который задан для уязвимого домена, вместе с запросом, который включает уязвимый SQL-запрос.

  10. Полезная нагрузка для ввода команды: Полезная нагрузка внедрения команды - это полезная нагрузка, которая может быть использована для запуска уязвимости внедрения команды. Этот тип полезной нагрузки обычно включает отправку запроса из разных источников с исходным заголовком, который задан для уязвимого домена, вместе с запросом, который включает уязвимую команду.

Как защититься от неправильной настройки совместного использования ресурсов из разных источников (CORS)

  1. Правильно настройте заголовки CORS: заключается в правильной настройке заголовков CORS на стороне сервера. Это включает в себя настройку заголовка Access-Control-Allow-Origin на разрешение только доверенных доменов и соответствующую настройку других заголовков CORS, таких как Access-Control-Allow-Methods и Access-Control-Allow-Headers.

  2. Избегайте использования подстановочного знака в заголовке Access-Control-Allow-Origin: поскольку это позволяет любому домену получить доступ к ресурсу. Вместо этого явно укажите домены, которым разрешен доступ к ресурсу.

  3. Используйте HTTPS: может помочь защитить от атак типа "человек посередине" и обеспечить безопасную передачу данных.

  4. Использовать политику безопасности контента (CSP): может использоваться для ограничения источников контента, которые разрешено загружать на страницу. Это может помочь защитить от таких атак, как межсайтовый скриптинг (XSS) и утечка данных.

  5. Проверка входных данных: может помочь защитить от таких атак, как внедрение SQL и командное внедрение.

  6. Используйте брандмауэр веб-приложений (WAF): может помочь защитить от различных атак, включая неправильную конфигурацию CORS.

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

Меры по устранению неправильной конфигурации совместного использования ресурсов из разных источников (CORS)

  1. Правильная настройка заголовков CORS: Наиболее эффективным средством устранения неправильной конфигурации CORS является правильная настройка заголовков CORS на стороне сервера. Это может включать указание разрешенных источников, методов и заголовков, а также соответствующую настройку заголовков Access-Control-Allow-Credentials и Access-Control-Allow-Methods.

  2. Используйте политику безопасности контента (CSP): Политика безопасности контента (CSP) может помочь предотвратить выполнение вредоносных сценариев, ограничивая источники, из которых могут быть загружены сценарии. Ограничивая домены, которым разрешено загружать скрипты, CSP может помочь предотвратить использование злоумышленниками уязвимостей CORS для выполнения вредоносного кода на вашем веб-сайте.

  3. Используйте целостность субресурсов (SRI): Целостность субресурсов (SRI) - это функция безопасности, которая позволяет вам проверять целостность скриптов и других ресурсов, загружаемых на ваш веб-сайт. Используя SRI, вы можете предотвратить внедрение злоумышленниками вредоносных скриптов на ваш веб-сайт, даже если они могут использовать уязвимость CORS.

  4. Избегайте использования подстановочного знака (*) в Access-Control-Allow-Origin: Использование подстановочного знака (*) в заголовке Access-Control-Allow-Origin может сделать ваш веб-сайт более уязвимым для атак с неправильной конфигурацией CORS. Лучше явно указать домены, которым разрешено отправлять запросы из разных источников на ваш сервер.

  5. Используйте брандмауэр веб-приложений (WAF): Брандмауэр веб-приложений (WAF) может помочь обнаруживать и блокировать вредоносные запросы, использующие уязвимости в неправильной конфигурации CORS. WAF также может помочь предотвратить другие типы атак, такие как внедрение SQL и межсайтовый скриптинг (XSS).

  6. Поддерживайте свое программное обеспечение в актуальном состоянии: Поддержание вашего программного обеспечения в актуальном состоянии важно для поддержания безопасности вашего веб-сайта. Многие веб-серверы и платформы выпускают исправления безопасности, устраняющие уязвимости, в том числе проблемы с неправильной конфигурацией CORS. Регулярное обновление вашего программного обеспечения может помочь гарантировать, что ваш веб-сайт не уязвим для известных проблем безопасности.

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

Заключение

Совместное использование ресурсов из разных источников (CORS) это механизм, который позволяет веб-страницам отправлять HTTP-запросы разных источников к ресурсам в разных доменах. Хотя CORS является полезной функцией для создания веб-приложений, она также может быть уязвимостью в системе безопасности, если не реализована правильно.

Уязвимости в неправильной конфигурации CORS могут позволить злоумышленникам обойти политику того же источника и запускать вредоносные скрипты или красть конфиденциальные данные с веб-сайтов. Эти уязвимости могут быть вызваны неправильно настроенными заголовками Access-Control-Allow-Origin, неправильной обработкой предполетных запросов и другими проблемами.

Чтобы предотвратить уязвимости при неправильной настройке CORS, важно правильно настроить заголовки CORS на стороне сервера, использовать политику безопасности контента (CSP), избегать использования подстановочного знака (*) в Access-Control-Allow-Origin и поддерживать ваше программное обеспечение в актуальном состоянии. Регулярное тестирование безопасности также может помочь выявить и устранить уязвимости.

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

Другие Услуги

Готовы к безопасности?

Связаться с нами