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

Атаки на 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