Сценарий: Microservice-архитектура с JWT-аутентификацией. Сервис A генерирует токены (алгоритм RS256), сервис B их проверяет. В JWT payload:
{
"user_id": 1337,
"role": "user",
"iat": 1699552800,
"exp": 1699639200
}
Сервис B проверяет подпись, но разработчик добавил фичу:
Если в заголовке токена указан “alg”: “none”, проверка пропускается для «тестовых» запросов. Также в коде есть fallback на HS256 с секретом из переменной окружения.
Публичный ключ RS256 доступен по эндпоинту
/jwks.json.❓ Какой вектор атаки наиболее эффективен для получения admin-доступа? Голосуйте эмодзи:
🔥 — Algorithm confusion: подменить RS256 на HS256, используя публичный ключ как symmetric secret
👾 — None algorithm bypass: создать токен с “alg”: “none”, изменить role на “admin”
❤️ — JWT secret bruteforce: перебрать HS256 секрет (если он слабый) через hashcat
🐸 Библиотека хакера
#ctf_challenge