API Security: Как некорректная настройка CORS превращает приватные эндпоинты в проходной двор
CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузеров, который по умолчанию запрещает веб-страницам делать запросы к другому домену, отличному от того, с которого они были загружены. Однако разработчики, стремясь побыстрее настроить взаимодействие между фронтендом и бэкендом, часто выставляют конфигурацию, которая полностью сводит эту защиту на нет. В результате сторонний вредоносный сайт получает возможность воровать данные пользователей через их собственный браузер.
— Разбираем механику CORS-уязвимостей. Узнаем, почему бездумный копипаст настроек со StackOverflow открывает доступ к вашему API.
В материале:
— Почему Access-Control-Allow-Origin: * в сочетании с Allow-Credentials: true — это катастрофа для безопасности
— Ошибки регулярных выражений: как хакеры обходят валидацию доменов с помощью трюков вроде trusted-site.com.attacker.com или attacker-site.com/trusted-site.com
— Доверие к Origin: null: почему локальные файлы или скрытые фреймы могут стать вектором атаки
— Методы защиты: жесткий белый список разрешенных доменов, корректная обработка preflight-запросов (OPTIONS) и отказ от слепого отражения заголовка Origin из запроса
«CORS — это не фильтр на стороне сервера, это инструкция для браузера. Если сервер говорит: "Я доверяю абсолютно любому источнику", браузер послушно выполнит запрос атакующего и отдаст ему конфиденциальный ответ, используя активную сессию жертвы»
— резюмируют специалисты по разработке API.
🔗 Статья
// BACKDOOR
CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузеров, который по умолчанию запрещает веб-страницам делать запросы к другому домену, отличному от того, с которого они были загружены. Однако разработчики, стремясь побыстрее настроить взаимодействие между фронтендом и бэкендом, часто выставляют конфигурацию, которая полностью сводит эту защиту на нет. В результате сторонний вредоносный сайт получает возможность воровать данные пользователей через их собственный браузер.
— Разбираем механику CORS-уязвимостей. Узнаем, почему бездумный копипаст настроек со StackOverflow открывает доступ к вашему API.
В материале:
— Почему Access-Control-Allow-Origin: * в сочетании с Allow-Credentials: true — это катастрофа для безопасности
— Ошибки регулярных выражений: как хакеры обходят валидацию доменов с помощью трюков вроде trusted-site.com.attacker.com или attacker-site.com/trusted-site.com
— Доверие к Origin: null: почему локальные файлы или скрытые фреймы могут стать вектором атаки
— Методы защиты: жесткий белый список разрешенных доменов, корректная обработка preflight-запросов (OPTIONS) и отказ от слепого отражения заголовка Origin из запроса
«CORS — это не фильтр на стороне сервера, это инструкция для браузера. Если сервер говорит: "Я доверяю абсолютно любому источнику", браузер послушно выполнит запрос атакующего и отдаст ему конфиденциальный ответ, используя активную сессию жертвы»
— резюмируют специалисты по разработке API.
🔗 Статья
// BACKDOOR