Атаки на JWT: РАЗБОР — подделка любого пользователя сменой одного поля | Веб-пентестинг
Ashketchum Security
0:00 / 0:00
Атаки на JWT: РАЗБОР — подделка любого пользователя сменой одного поля | Веб-пентестинг
2 просмотра · 6 ч назад
Ashketchum Security
1,75 тыс. подписчиков
2 просмотра · 6 ч назад
Вы входите в систему, и приложение выдает вам токен — длинную строку, которая описывает, кто вы и что вы можете делать. Вы меняете одно поле с «user» на «admin», отправляете токен обратно, и сервер вам верит. Никакого пароля, никакой цепочки эксплойтов — сервер просто доверился токену, который должен был проверить, но не сделал этого. Это атака с использованием JWT, и в зависимости от ошибки вы можете подделать любую личность. В 40-м эпизоде мы подробно разбираем атаки с использованием JSON Web Token от начала до конца, на практике, в авторизованной лаборатории.
Вы узнаете, что такое JWT на самом деле (заголовок, полезная нагрузка, подпись — и почему первые два являются только Base64, а не зашифрованы), как сервер должен его проверять, а затем все способы взлома этой проверки: трюк с неподписанным токеном alg:none, подписи, которые никогда не проверяются, путаница алгоритмов (ключей) HS256/RS256 с использованием открытого ключа в качестве секрета HMAC, взлом слабого секрета HS256 с помощью hashcat / jwt_tool, внедрение заголовка kid (обход пути, SQL-инъекция, внедрение команд), перехват ключа jku через размещенный злоумышленником набор JWK (и SSRF), внедрение заголовка jwk, в который внедряется собственный ключ злоумышленника, и утверждения, которые все еще имеют значение — exp, iss, aud, role и sub. Плюс практическое занятие, в котором будет взломан секрет и подделан административный токен, последствия, инструментарий, как его обнаружить и средства защиты, которые останавливают каждую такую атаку.
Главное правило безопасности: тестируйте на СВОЕМ собственном токене — расшифруйте его, атакуйте, создайте учетную запись под своим контролем, никогда не под чужим. Найдите, докажите, сообщите.
Все демонстрируется на специально уязвимых тестовых системах, которыми я владею или на тестирование которых у меня есть разрешение. Это для этичных хакеров, охотников за уязвимостями и специалистов по защите. Найдите, поймите, сообщите — никогда не тестируйте системы, на тестирование которых у вас нет разрешения.
⏱️ ГЛАВЫ
0:00 Изменение одного поля, подделка любой личности
0:27 Подделка личности
0:51 Анатомия JWT
1:23 Подтвердите или станьте жертвой подделки
1:47 Атака alg:none
2:17 Подпись никогда не проверяется
2:43 Путаница алгоритмов HS/RS
3:15 Взлом слабого секрета
3:42 Внедрение заголовка kid
4:12 Перехват ключа jku (+ SSRF)
4:44 Внедрение заголовка jwk
5:11 Утверждения по-прежнему имеют значение
5:42 Утечка и кража токенов
6:10 Лаборатория: подделка токена администратора
6:44 Влияние — взлом токена, взлом аутентификации
7:14 Инструментарий
7:48 Как его найти (свой собственный токен)
8:21 Защита
8:58 Почему это важно
9:29 Краткий обзор — JWT цикл
10:01 Следующий эпизод и заключение
🔗 СМОТРЕТЬ ВЕСЬ СЕРИАЛ
Веб-тестирование на проникновение: от нуля до героя — 100 эпизодов, от начинающего до продвинутого.
▶ Предыдущий: Эпизод 39 — Безопасность OAuth 2.0
▶ Следующий: Эпизод 41 — Атаки SAML и SSO
🛡️ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ
Этот контент предназначен исключительно для образовательных целей и авторизованного тестирования безопасности. Все демонстрации проводятся на системах, которыми я владею или на тестирование которых у меня есть явное письменное разрешение. Несанкционированный доступ к компьютерным системам является незаконным. Учитесь защищаться — тестируйте ответственно.
👍 Если это помогло, подпишитесь, чтобы получать остальную часть дорожной карты.
💬 Какой самый слабый секрет JWT вы когда-либо взламывали? Расскажите мне ниже.
#JWT #JSONWebToken #JWTSecurity #algnone #AlgorithmConfusion #BugBounty #EthicalHacking #PenetrationTesting #BurpSuite #CyberSecurity #WebSecurity