Learn-json-web-tokens: Уязвимости безопасности

Созданный на 4 янв. 2019  ·  3Комментарии  ·  Источник: dwyl/learn-json-web-tokens

Просто предложение: было бы здорово добавить некоторую информацию о проблемах безопасности в различных методах хранения JWT на стороне клиента (cookie / localStorage) - XSS, CSRF и т. Д.

discuss enhancement help wanted

Самый полезный комментарий

@nelsonic

Проблемы безопасности, применимые к JWT, такие же, как и для других схем токенов.
Если злоумышленник сможет запустить XSS-атаку на домен, он сможет получить JWT и использовать его для олицетворения пользователя независимо от того, как он хранится на клиенте.
Вредоносный JS может так же легко читать и пропускать файлы cookie и localStorage.

Частично согласен. У вас есть что-то вроде файлов cookie httpOnly и secure которые не позволяют злоумышленнику получить ваш JWT. Но я полностью согласен с тем, что если вы открыты для XSS-атак, это не защищает вас от чего-либо, поскольку кто-то может делать что-то от имени пользователя (не красть токен, а, например, внедрять вредоносный скрипт).

Так что я думаю, что, в конце концов, не имеет значения, используете ли вы localStorage или cookie - если вы открыты для атак OWASP - вы облажались. Но если вы защищены от них - будьте осторожны с обоими методами.

Я бы хотел подготовить PR, но у меня сейчас мало времени, и я буду свободен только в ближайшие 1-2 месяца. Если кто-то не обгонит меня, подготовлю пиар 😄

Все 3 Комментарий

@sarneeh, спасибо, что открыли этот выпуск. 👍
Если у вас есть время, чтобы создать запрос на включение, сделайте это! (_у вас есть право записи в этот репозиторий_)

Проблемы безопасности, применимые к JWT, такие же, как и для других схем токенов.
Если злоумышленник сможет запустить XSS-атаку на домен, он сможет получить JWT и использовать его для олицетворения пользователя независимо от того, как он хранится на клиенте.
Вредоносный JS может так же легко читать и пропускать файлы cookie и localStorage.

Мы должны сообщить людям, использующим JWT, что они не защищают от атак OWASP, а являются просто _ удобным_ способом передачи подписанных заявлений / данных. 📝

@nelsonic

Проблемы безопасности, применимые к JWT, такие же, как и для других схем токенов.
Если злоумышленник сможет запустить XSS-атаку на домен, он сможет получить JWT и использовать его для олицетворения пользователя независимо от того, как он хранится на клиенте.
Вредоносный JS может так же легко читать и пропускать файлы cookie и localStorage.

Частично согласен. У вас есть что-то вроде файлов cookie httpOnly и secure которые не позволяют злоумышленнику получить ваш JWT. Но я полностью согласен с тем, что если вы открыты для XSS-атак, это не защищает вас от чего-либо, поскольку кто-то может делать что-то от имени пользователя (не красть токен, а, например, внедрять вредоносный скрипт).

Так что я думаю, что, в конце концов, не имеет значения, используете ли вы localStorage или cookie - если вы открыты для атак OWASP - вы облажались. Но если вы защищены от них - будьте осторожны с обоими методами.

Я бы хотел подготовить PR, но у меня сейчас мало времени, и я буду свободен только в ближайшие 1-2 месяца. Если кто-то не обгонит меня, подготовлю пиар 😄

@sarneeh, спасибо, что открыли этот выпуск.
Если у вас есть время, чтобы создать запрос на включение, сделайте это! (_у вас есть право записи в этот репозиторий_)

Проблемы безопасности, применимые к JWT, такие же, как и для других схем токенов.
Если злоумышленник сможет запустить XSS-атаку на домен, он сможет получить JWT и использовать его для олицетворения пользователя независимо от того, как он хранится на клиенте.
Вредоносный JS может так же легко читать и пропускать файлы cookie и localStorage.

Мы должны сообщить людям, использующим JWT, что они не защищают от атак OWASP, а являются просто _ удобным_ способом передачи подписанных заявлений / данных.

Как сказано выше, cookie может иметь параметр httpOnly.
Согласно этой статье, действительно небезопасно использовать localstorage вместо httponly cookie.

Хотя я чувствую, что ясно дал понять, что никогда не следует хранить конфиденциальную информацию в локальном хранилище в предыдущем разделе, я чувствую необходимость специально вызывать веб-токены JSON (JWT).
Самые большие нарушители безопасности, которых я вижу сегодня, - это те из нас, кто хранит JWT (данные сеанса) в локальном хранилище. Многие люди не понимают, что JWT - это, по сути, то же самое, что имя пользователя / пароль.
Если злоумышленник может получить копию вашего JWT, он может отправлять запросы на веб-сайт от вашего имени, и вы никогда не узнаете. Относитесь к своим JWT как к номеру кредитной карты или паролю: никогда не храните их в локальном хранилище.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

nelsonic picture nelsonic  ·  5Комментарии

rhewitt22 picture rhewitt22  ·  5Комментарии

KumarS-Naveen picture KumarS-Naveen  ·  3Комментарии

rjmk picture rjmk  ·  9Комментарии

nelsonic picture nelsonic  ·  4Комментарии