Pull to refresh

Comments 8

Я что-то не понял, JWT токен имеет подпись, если в нем подменить значение поля - подпись станет недействительной

Это история про то что кто-то использовал JWT без проверки подписи?

Насколько я понимаю каждый раз JWT подписывался корректно, просто значение realm бралось любое, которое передано в POST запросе и можно было его менять.

Автор делал запрос, в котором мог менять параметр, а сервер уже генерил токен и отдавал валидный JWT с этим параметром.

Я больше не понял как убирание bearer позволило принять токен за админский -_-

Скорее всего где-то косят в парсинге/регулярный выражениях был и без bearer сравнение успешно проходило. Например так: что-то где-то при разборе возвращало "bearer" и токен. И если вместо "bearer" получался какой-нибудь null и дальше было кривое сравнение на JS/TS (какое-нибудь сравнение с отрицанием), то результат вполне могу получаться "true".
А может быть где-то внутри исключение выбрасывалось и тихо перехватывалось (отлаживали и забыли убрать). Но это жёсткий прохлоп.

Автору спасибо, за перевод! Читается будто книга в стиле киберпанк детектива. Но я не могу найти, где автор нашел список realm'ов. В исходниках?

Sign up to leave a comment.

Articles