【发布时间】:2020-04-26 01:41:36
【问题描述】:
我一直在尝试将 WAF 放在 AWS 的负载均衡器上。
我的 Web 应用程序中有一个参数(但它只用于一个 url,而不是全部),我故意留下一个命令注入漏洞,为了解决这个问题,我决定使用 AWS ACL 修复它并放置一个正则表达式规则告诉它,当“路径”参数与正则表达式不匹配时,我应该阻止并且作为 ACL 的默认操作,我应该允许。
结果是我发出的所有请求都以 403 输出,带或不带路径参数。事实是我找不到任何关于这条规则的资料,我也不知道我做错了什么,我附上图片。
https://i.stack.imgur.com/K6rCm.png
https://i.stack.imgur.com/R69Lv.png
https://i.stack.imgur.com/gYVBL.png
https://i.stack.imgur.com/LfyHg.png
【问题讨论】:
-
对不起,如果我将图像放在代码块中,我是新用户,我没有 10 声望
-
请包含一些示例文本和所需结果,因为擅长 Regex 的人可能不熟悉 AWS 术语..
-
@farooq 问题不在于正则表达式,我在 regex101.com 和 Java 中测试了很多,问题在于将正则表达式与 URL 参数进行比较的规则配置
-
好的,Regex 语法有不同的变体,也许您的应用程序使用了不同的 Regex。
-
你定义的“path”参数不是请求路径,它是一个名为“path”的查询字符串参数。我提到这一点是因为我对此感到困惑。现在...您的规则拒绝此参数的值与正则表达式不匹配的任何请求,或者 - 大概 - 任何不存在此参数的请求。
标签: regex amazon-web-services acl firewall rules