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 Misconfiguration Scanner: Сканер веб-додатків, який може виявляти неправильні налаштування 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 і впровадження інших заходів безпеки веб-додатки можуть бути краще захищені від цих видів атак.

Інші Послуги

Готові до безпеки?

зв'язатися з нами