WAF - 200003 多部分请求正文严格验证

WAF - 200003 Multipart Request Body Strict Validation

我有一个正在调用 Azure 应用程序网关的应用程序,但在执行以下规则时它失败了:

规则 ID:200003 说明:多部分请求正文严格验证

调用是对 PUT 端点的调用,在正文中传递了 2 个文件。禁用此规则可使调用正常进行。 找不到关于此规则的正确描述。只是想知道是否有人可以提供有关它的更多信息?禁用它是否安全?

我遇到了这个问题,MS 支持响应是这是一个错误并禁用规则。请参阅下面的回复。

我查看了 WAF 日志,我们似乎符合您的要求的规则 200003。

经过调查,此规则基本上存在一个错误,即 3.2 中新的多部分格式正文检查。 (它是几周前才添加的)。 我们的专家是这样说的:

“此规则查看文件流并尝试确定多部分请求的格式是否有效。如果它认为不是,则主体检查失败并且无法扫描请求的其余部分。此特定规则会导致大量误报,如果是这种情况,则应将其禁用。

200002/200003/200004 系列规则很难解决,因为它们正在查看请求的格式,但是,几乎无法预测请求的格式,因为文件的流式传输是这样的被编码成一堆随机字符,如果这些字符打破了多部分请求的典型格式边界,这些规则将被触发。但是.. 由于您无法预测文件在流期间将如何编码,因此几乎不可能从代码/请求级别“修复”。禁用规则获利。“