Вебинар: Стратегия без иллюзий: как превращать цели в результаты - 19.08
Анализатор обнаружил, что в приложении используется метод HttpServletRequest.getRequestedSessionId. Данный метод не рекомендуется к применению.
Уязвимости, связанные с использованием этого метода, могут быть отнесены к следующей категории OWASP Top 10 2021:
Рассмотрим пример:
boolean validate(HttpServletRequest request) {
var sessionId = request.getRequestedSessionId();
// ....
}
При проверке фрагмента анализатор сформирует предупреждение о том, что использование getRequestedSessionId не рекомендуется, поскольку, скорее всего, является ошибочным.
Дело в том, что getRequestedSessionId возвращает ID, указанный клиентом. Jakarta JavaDoc также об этом сообщает:
This may not be the same as the ID of the current valid session for this request.
Для получения подлинного ID сессии можно использовать следующий вариант:
boolean validate(HttpServletRequest request) {
var sessionId = request.getSession().getId();
// ....
}
Согласно всё той же документации Jakarta, getSession возвращает сессию запроса или создаёт новую:
Returns the current session associated with this request, or if the request does not have a session, creates one.
Таким образом, мы получаем корректный ID сессии.
Выявляемые диагностикой ошибки классифицируются согласно ГОСТ Р 71207–2024 как критические и относятся к типу: Ошибки некорректного использования системных процедур и интерфейсов, связанных с обеспечением информационной безопасности (шифрования, разграничения доступа и пр.). |
Диагностическое правило классифицируется как:
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: