- 1254 Просмотра
- Обсудить
Недостаточная проверка процесса (Insufficient Process Validation)
Уязвимости этого класса возникают, когда сервер недостаточно проверяет последовательность выполнения операций приложения. Если состояние сессии пользователя и приложения должным образом не контролируется, приложение может быть уязвимо для мошеннических действий. В процессе доступа к некоторым функциям приложения ожидается, что пользователь выполнит ряд действий в определенном порядке. Если некоторые действия выполняются неверно или в неправильном порядке, возникает ошибка, приводящая к нарушению целостности. Примерами подобных функций выступают переводы, восстановление паролей, подтверждение покупки, создание учетной записи и т. д. В большинстве случаев эти процессы состоят из ряда последовательных действий, осуществляемых в четком порядке. Для обеспечения корректной работы подобных функций веб‑приложение должно четко отслеживать состояние сессии пользователя и ее соответствие текущим операциям. В большинстве случаев это осуществляется путем сохранения состояния сессии в cookie или скрытом поле формы HTML. Но поскольку эти значения могут быть модифицированы пользователем, обязательно должна проводиться их проверка на сервере. Если этого не происходит, злоумышленник получает возможность обойти последовательность действий и, как следствие, логику приложения. В качестве примера подойдет следующее. Система электронной торговли может предлагать скидку на продукт B в случае покупки продукта A. Пользователь, не желающий покупать продукт A, может попытаться приобрести продукт B со скидкой. Заполнив заказ на покупку обоих продуктов, пользователь получает скидку. Затем он возвращается к форме подтверждения заказа и удаляет продукт A из покупаемых путем модификации значений в форме. Если сервер повторно не проверит возможность покупки продукта B по указанной цене без продукта A, будет осуществлена закупка по низкой цене.
Будь-те первым, поделитесь мнением с остальными.