Diiamo 发表于 2026-8-22 12:08:27

请求 Nginx 防火墙 WAF 自定义规则支持 JSON body 检测(Elementor...

尊敬的宝塔官方团队:您好!我使用的是宝塔面板 + Nginx 防火墙插件(btwaf),站点基于 WordPress + Elementor Pro 表单。发现一个垃圾留言绕过 WAF 自定义规则的漏洞,恳请官方支持修复。问题现象:
垃圾爬虫通过 JSON 格式向 Elementor Pro 表单端点(/wp-admin/admin-ajax.php,action=elementor_pro_forms_send_form)提交表单,成功绕过 WAF 自定义拦截规则,直达源站(最终由 WordPress 端 Maspik 插件兜底拦截)。技术原因:
WAF 自定义规则中的 body_param 条件仅在 Content-Type: multipart/form-data 时执行(ParamPost 遇到 multipart 才转 ParamPostBody),post_param 仅处理 urlencoded。当 Content-Type: application/json 时,body 完全不在 WAF 自定义规则的检测范围内,导致:
[*]body_param(正则锚定 form_fields 检测 http/www/裸域名/邮箱/垃圾关键词)对 JSON 请求不执行;
[*]爬虫提交体为 {"fields:{name:...,email:...,message:...含https链接/SEO关键词..."}},字段名无 form_fields 前缀,即使有检测也不匹配。
期望支持:
恳请官方在 Nginx 防火墙自定义规则中增加对 JSON body 的检测支持,例如:
[*]body_param 条件对 application/json 类型的 POST 请求同样生效(匹配原始 JSON body);
[*]或新增 json_param / body_json 条件类型,支持对 JSON 解析后的字段做正则匹配;
[*]至少让自定义规则能够检测 JSON 提交中的垃圾特征(链接、域名、关键词等)。
补充:Elementor Pro 新版(atomic forms)及爬虫模拟的 JSON 提交正逐渐增多,该支持对使用 Elementor 表单的宝塔用户有普遍价值。
页: [1]
查看完整版本: 请求 Nginx 防火墙 WAF 自定义规则支持 JSON body 检测(Elementor...