Перейти к содержимому

Уязвимость CORS: как любой сайт может получить доступ к вашему аккаунту | Тестирование веб-прилож...

Ashketchum Security

0:00 / 0:00

Уязвимость CORS: как любой сайт может получить доступ к вашему аккаунту | Тестирование веб-прилож...

14 просмотров · 4 дня назад
Ashketchum Security
1,75 тыс. подписчиков
14 просмотров · 4 дня назад
Вы открываете случайный сайт — игру, страницу с купонами, что угодно. В фоновом режиме его JavaScript незаметно запрашивает у API вашего банка, используя ваши авторизованные cookie: «Предоставьте мне данные этой учетной записи». Обычно браузер пропускает этот запрос, но отказывается разрешить странице злоумышленника ПРОЧИТАТЬ ответ — это политика одного источника (Same-Origin Policy). Но сервер отвечает: «Независимо от источника, я ему доверяю, и вот учетные данные». Таким образом, браузер передает ваши личные данные учетной записи напрямую странице злоумышленника. Один неправильно настроенный заголовок — и любой веб-сайт может прочитать вашу учетную запись. Это ошибка конфигурации CORS, и в 38-м эпизоде ​​мы разберем это от начала до конца в авторизованной лаборатории. Вы узнаете о политике Same-Origin Policy (отправлять, но не читать), что такое CORS на самом деле и о двух заголовках, которые определяют всё — Access-Control-Allow-Origin и Access-Control-Allow-Credentials — почему блокируется star-plus-credentials, а также о классических ошибках конфигурации: отражение заголовка Origin, доверие к буквальному null и слабая проверка источника (подстрока / не привязанное регулярное выражение, например trusted.com.attacker.com). Затем полный эксплойт — получение данных с credentials:'include', прикрепленные cookie, сервер указывает источник атаки, скрипт считывает тело запроса — миф о предварительной проверке, цепочка CORS с захватом учетной записи, уязвимость внутренних/облачных API, практическое занятие по извлечению ключа API жертвы, последствия, набор инструментов, как искать уязвимость и работающие средства защиты. Главное правило безопасности: при тестировании создавайте прототип на основе данных ВАШЕГО СОБСТВЕННОГО аккаунта, полученных из другого источника — никогда не используйте данные посторонних. Найдите уязвимость, докажите её, сообщите о ней. Все демонстрации проводятся на специально уязвимых тестовых системах, которые принадлежат мне или на тестирование которых у меня есть разрешение. Это для этичных хакеров, охотников за уязвимостями и специалистов по защите. Найдите, поймите, сообщите — никогда не тестируйте системы, на тестирование которых у вас нет разрешения. ⏱️ РАЗДЕЛЫ 0:00 Любой сайт читает вашу учетную запись 0:34 Линия доверия внутри браузера 0:57 Политика одного источника: отправлять, не читать 1:19 Что такое CORS на самом деле 1:47 Два заголовка: ACAO и ACAC 2:16 Отражение источника 2:45 Доверие к null 3:12 Слабая проверка источника 3:41 Ловушки с подстановочными знаками и поддоменами 4:04 Эксплойт, от начала до конца 4:35 Предварительная проверка — не стена 5:02 Цепочка CORS → захват 5:28 Внутренние API: браузер как прокси 5:53 Лаборатория: извлечение ключа API 6:22 Влияние — на сессию жертвы 6:52 Инструментарий 7:20 Как его найти (проверка собственной учетной записи) 7:49 Защита 8:18 Почему это важно 8:48 Краткий обзор — Цикл CORS 9:18 Следующий эпизод и заключение 🔗 СМОТРЕТЬ ВЕСЬ СЕРИАЛ Веб-тестирование на проникновение: от нуля до героя — 100 эпизодов, от начинающего до продвинутого. ▶ Предыдущий: Эпизод 37 — Отравление веб-кэша ▶ Следующий: Эпизод 39 — Безопасность OAuth 2.0 🛡️ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Этот контент предназначен исключительно для образовательных целей и авторизованного тестирования безопасности. Все демонстрации проводятся на системах, которыми я владею или на тестирование которых у меня есть явное письменное разрешение. Несанкционированный доступ к компьютерным системам является незаконным. Учитесь защищаться — тестируйте ответственно. 👍 Если это помогло, подпишитесь, чтобы получать остальную часть дорожной карты. 💬 Какой самый нестрогий механизм контроля доступа (Access-Control-Allow-Origin) вы когда-либо видели в реальных условиях? Расскажите мне об этом ниже. #CORS #CORSMisconfiguration #SameOriginPolicy #AccessControlAllowOrigin #BugBounty #EthicalHacking #PenetrationTesting #BurpSuite #CyberSecurity #WebSecurity