Токен входа без подписи: JWT alg:none
В примере JavaScript найден неподписанный токен. Его приём сервером не проверялся.
Почему это важно
В коде найден JWT с alg:none, то есть без подписи. Если сервер принимает такой токен, злоумышленник может подделать пользователя или права. Токен только прочитан из кода; его приём сервером не проверялся.
Доказательства
Example /assets/app.js — JWT header: { "alg": "none" }. Token: [redacted].Достоверность и подтверждение
Детектор не указал достоверность. Уровень риска сам по себе не доказывает возможность эксплуатации.
Как исправить · Общие инструкции
1) Найдите серверную проверку JWT. 2) Задайте явный список допустимых алгоритмов и не доверяйте alg из заголовка токена. 3) Убедитесь, что alg:none отклоняется. 4) Смените ключи подписи, если неподписанные токены могли приниматься.
Пример кода · jsonwebtoken (Node)
Always pass an explicit algorithms allow-list — this is what rejects "alg:none".
import jwt from "jsonwebtoken";
// ❌ Vulnerable: no algorithms list — "alg":"none" tokens slip through
const claims = jwt.verify(token, secret);
// ✅ Fixed: pin the algorithm; an unsigned/none token is rejected
const claims = jwt.verify(token, secret, { algorithms: ["HS256"] });Проверьте исправление
Внесите исправление и повторите проверку с той же областью анализа. Изучите доказательства и полноту проверки. Отчёт отражает состояние на момент запуска: копирование инструкции или новый запуск не означают, что проблема исправлена.