当表单字段的值为 json 字符串时,请求在 azure waf 上被阻止

pra*_*oon 3 azure web-application-firewall amazon-waf

我有一个带有一些输入字段的表单。一些输入字段具有 json 字符串作为值,例如

[{"actionItems":"1","actions":"Go To Home","articleLink":""}, 
{"actionItems":"2","actions":"Rollback","articleLink":""}]
Run Code Online (Sandbox Code Playgroud)

但是,当我提交此请求时,请求在 azure WAF 上被阻止并给出 403。而其他没有 json 字符串作为值的表单已成功提交。有人可以建议解决此问题的方法吗?

hai*_*770 5

我认为 WAF 过滤您的请求的原因是因为它检测到 JSON 负载,而Content-Type请求的 不是application/json

(完整的规则列表可以在这里找到。据我所知,这种情况可以匹配多个规则。我的猜测是920120920121920341

您可以:

  • URLEncode你的数据<input>
  • POST添加自定义规则以对您要访问的URL 禁用 WAF
  • 全局禁用影响此特定情况的一些规则
  • 使用 JavaScript 以编程方式发出请求,然后将Content-Type标头设置为application/json