В чем преимущество валидации размера карты параметров в контроллере веб-приложения по сравнению с веб-безопасностью?

У меня есть веб-приложение (Spring MVC) и проверка входных данных для каждого параметра в контроллере. Что НЕ присутствует, так это проверка принятого размера карты параметров. т.е. когда контроллер ожидает 10 параметров, а запрос имеет 11 или 9.

Мне сказали, что размер параметра важен для проверки, чтобы отразить любую атаку или инъекцию, т.е. безопасность, особенно закаливание параметров. Это подчеркивается во время сканирования ZAP, где ZAP добавляет запрос нового параметра к URL, который не имеет параметров запроса.

На мой взгляд, проверка размера может быть пропущена, если только нет деловой причины. Приложение будет просто игнорировать дополнительные параметры, и если их будет меньше, чем допустимо, проверка входных данных позаботится об этом. Проверка размера не добавляет разумных преимуществ для безопасности.

Я считаю, что разработчик может написать только 10 параметров, но базовая структура может добавить больше параметров. For-ex Spring MVC добавит один параметр (токен csrf). И любое обновление в рамках может представить более или менее из них.

Итак, теперь вопрос. Важно ли проверять размер карты параметров, когда проверка каждого параметра уже выполнена? Какова реальная выгода для безопасности этого?

PS: я не получил ответ на обмен безопасности и поэтому разместил его здесь. https://security.stackexchange.com/questions/192569/benefit-of-parameter-map-size-validation-in-web-application-controller

1 ответ

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

Другие вопросы по тегам