Kenya-West
@Kenya-West
Обычный Кеня

Смысл в JWT, если любой его может распарсить?

Ребят, шибко не бейте. Лучше объясните, желательно непопулярно. До сих пор плохо понимаю, как работают JWT-токены.

Если их так легко распарсить (jwt.ms чел) и уже по распарсенной инфе проверять, имеет ли субъект доступ к объекту, то что мне мешает создать свой JWT-токен для атаки на ресурс?

Допустим, бек совсем тупой, не имеет БД. Вдруг у меня кончился доступ к ресурсу, я меняю в распарсенном JWT дату на более свежую, собираю его обратно, иду на ресурс - он меня пропускает. Не? Почему это невозможно?
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
JWT токен содержит внутри своего тела digital signature или HMAC (я не помню точно что из них)
и это позволяет серверу очень быстро проверить валидность токена. Подпись закрепляет
все параметры токена в том числе дату валидности.

То-есть сценарий фальсификации, который ты придумал скорее всего не сработает. Атакующий
должен иметь ключи для шифровки "шмяком" или ключи для подписи.
Ответ написан
Комментировать
@basili4-1982
JWT это коробочка. Вот коробочки бывают с замком и без замка. Коробочку без замка может любой открыть и прочитать. коробочке с замком нужен ключик. Вот у вас Алиса и Боб знают этот ключик и могут обмениваться данными в этой коробочке. А кто то третий не знаю ключика не сможет не подменить коробочку , не достать из нее данные. не положить в нее другие. Вот собственно как работает JWT
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы