Возможно ли пройти аутентификацию JWT, имея только секретное слово, но не имея timestamp?

Как можно воспользоваться уязвимостью обхода JWT, если даже небольшие изменения в iat, nbf или exp приводят к недействительности токена?
  • 27 июня 2024 г. 20:02
Ответы на вопрос 3
Нет, нельзя пройти аутентификацию JWT, имея только секретное слово, без timestamp. Timestamp (временная метка) очень важен для проверки действительности токена, и его отсутствие может сделать токен недействительным.

Чтобы воспользоваться уязвимостью обхода JWT, если небольшие изменения в iat, nbf или exp приводят к недействительности токена, можно попробовать атаку "timing attack". Эта атака основывается на анализе времени, которое сервер затрачивает на обработку запроса с недействительным токеном. Проводя повторные запросы с разными изменениями временных меток, злоумышленник может попытаться определить время обработки запроса и подобрать оптимальное время для обхода проверки токена. Однако такие атаки требуют специфических условий и могут быть сложными в осуществлении.
Если вы меняете заголовок или полезную нагрузку токена, то должны вычислить новую подпись. 
Для начала изучите, что такое JWT .
Потом научитесь вычислять подпись токена по HS256 (HMAC with SHA-256).
А уже потом пытайтесь подобрать секретный ключ.
Если вы меняете заголовок или полезную нагрузку токена, то должны вычислить новую подпись. 
Для начала изучите, что такое JWT .
Потом научитесь вычислять подпись токена по HS256 (HMAC with SHA-256).
А уже потом пытайтесь подобрать секретный ключ.
Похожие вопросы