0

我有一个 Web 应用程序(Spring MVC),并对控制器中的每个参数进行输入数据验证。不存在的是检查接受的参数映射大小。即当控制器期望 10 个参数并且请求有 11 个或 9 个时。

有人告诉我,检查参数大小以防止任何攻击或注入(即安全性 pov,尤其是参数回火)很重要。这在 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

4

1 回答 1

1

使用尺寸图有一些好处。例如防止HPP攻击等。您必须权衡维护头痛与此类攻击对您的应用程序的风险。ZAP 在没有参数的 URL 上添加查询参数,以测试一些可能会被遗漏或忽略的东西,例如 DOM XSS 等。

于 2018-09-06T14:51:49.813 回答