170 похожих чатов

А что за история с alg:none? типа если его видят

то считают токен валидным?

11 ответов

9 просмотров

Это значит что можно не проверять токен на то чем оно подписано

Ага, самая тупая из атак на поле alg Передаешь свой сфабрикованный токен, либа берет алгоритм для проверки из самого токена - видит none - и считает токен валидным У Auth0 был анекдот в том, что один раз они закрылись - перестали позволять "none" и "None" - но оказалось, что пропускают "NoNe" - что тоже дальше отрубало проверку подписи Есть еще куча подобных атак, например с подменой RSA на HMAC - и тогда можно подписать сфабрикованный токен публично доступным ключом JWT вообще весь из дыр кажется состоит

Evgeniy Alexandrov
Ага, самая тупая из атак на поле alg Передаешь сво...

А ведь еще целый зоопарк дыр из-за кривого дизайна библиотек, особенно для жабаскрипта Для декодирования jwt дается два метода - decode и verify Как это выглядит в нормальных API - verify только проверяет подпись, decode - декодирует с верификацией Как это выглядит в js - verify - декодирует с верификацией, decode - декодирует тупо игноря подпись - а в итоге в куче либ тупо зовут decode

Evgeniy Alexandrov
Ага, самая тупая из атак на поле alg Передаешь сво...

JWT это просто коробка для данных средней степени поганости

Roman Bukin
JWT это просто коробка для данных средней степени ...

Нет. Уже в своей самой простой форме (header/payload/signature) торчит зависимость верификации signature от содержимого header. Doomed to fail. Сверхгибкость - первородный грех в криптографии.

Evgeniy Alexandrov
Нет. Уже в своей самой простой форме (header/paylo...

Так надо валидировать и хэдер в том числе на поддерживаемые alg

Ayrat Hudaygulov
RSA256 хватит всем?

v1 - RS-256-only, стало не хватать - выпускай v2 ES-512-only

Evgeniy Alexandrov
v1 - RS-256-only, стало не хватать - выпускай v2 E...

ну тогда надо версию куда-то зашивать в хедеры

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

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
75
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
@rouse_79 а ты не знаешь простого способа определить что приложение запущено из под среды delphi?
Михаил
14
Обязательно ли смена методологии обучения алфавиту при смене алфавита(реформе письменности) - нет. А при смене глиненых табличек на попирус, нужно ли менять методологию обучен...
Spiker01
8
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
19
а китайский фольц такой же как немецкий? а то я вижу китайские черри через год эксплуатации -- ну эээ оно такое...
Vyacheslav Olkhovchenkov
13
Карта сайта