Nginx 位置块与百分比符号不匹配

时间:2021-06-27 15:46:08

标签: regex nginx pcre

如果 URI <%([\S\s]+?)(?:%> 被传递,我的渗透测试表明可能会泄露源代码。因此我试图使用 Nginx 来阻止这个 URI。默认情况下,它返回错误 400,但我希望它返回错误 403 作为额外的安全措施。为了阻止此 URI 的任何“变体”,我计划阻止 < 之后的任何内容。

在我的 location 块中,我有这个:

location ~* <(?=\%.*) {
        deny all;
}

结果仍然是错误 400 而不是 403。

我还尝试了一个简单的正则表达式 <.*,它适用于 https://regex101.com/r/18w2KM/1,但不适用于 Nginx。如果我用另一个字符替换 %,则正则表达式有效。我尝试了许多其他在线方法,但它们要么无关紧要,要么不起作用。

0 个答案:

没有答案
相关问题