限制性Azure WAF阻止带有403错误的真实输入请求

问题描述

我在React / Node(前端/后端)应用程序上工作,该请求通过应用程序网关中的Azure WAF路由,WAF具有一些非常严格的规则,因为这些规则甚至会阻止真正的有效负载输入,我们注意到的是大多数其中有与sql注入攻击有关的误报。例如-请求负载中的简单自由文本输入(例如-100和300)被阻止,当我们调试日志时,它显示WAF规则-942400插入并阻止它,该规则正在以这种形式查找正则表达式模式:

“(?i)\ b(?i:and)\ b \ s +(\ d {1,10} |'[^ =] {1,10}')\ s *?[=] | \ b(?i:and)\ b \ s +(\ d {1,10}')\ s *?[] | \ band \ b?(?:\ d {1,10} | [\'“] [^ =] {1,10} [\'”])?[= ] + | \ b(?i:and)\ b \ s +(\ d {1,10}')“

解决此问题的一种方法是禁用WAF规则,但我们不想这样做,我们更想编写一个自定义规则,该规则可以接受输入字符串-100和300,100或300

面临着类似的问题,如果是,那么编写带有正则表达式的自定义规则的最佳方法是什么,该规则允许-100 AND 200、100 OR 200等字符串被允许。任何指针都将非常有帮助。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...