Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V5343. OWASP. A cryptographically weak random number is used for sensitive data.

29 Сен 2026

Анализатор обнаружил использование случайных чисел, созданных небезопасным генератором, в контексте потенциально чувствительных данных.

Уязвимость такого типа относится к следующим категориям OWASP Top 10:

Рассмотрим пример:

Random random = new Random();
long token = random.nextLong() & Long.MAX_VALUE;
HttpCookie cookie = new HttpCookie("token", Long.toString(token)); // <=

В примере генерируется токен, который может быть использован для сохранения и восстановления сессии пользователя. Для его создания используется обычный генератор псевдослучайных чисел, который работает предсказуемым способом. Если сервер использует токен как ключ доступа к определённому ресурсу или действию, злоумышленник может проанализировать получаемые токены и предопределить следующее значение, тем самым получая доступ к сессии и правам другого пользователя.

Потенциальную уязвимость можно исправить, используя криптографически стойкий генератор случайных чисел:

SecureRandom secureRandom = new SecureRandom();
long token = secureRandom.nextLong() & Long.MAX_VALUE;
HttpCookie cookie = new HttpCookie("token", Long.toString(token));

Также следует применять встроенные механизмы используемых фреймворков, которые исключают необходимость генерировать такие токены вручную.

Диагностическое правило классифицируется как: