Varni sh modsecurity правил синтаксических ошибок - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь запустить modsecurity CRS в Varni sh (varni sh -6.0.3), но у меня проблема с правилами 932106, 932150, 932105 и 932100 -> RCE. Компилятор V CC выдает синтаксическую ошибку (например, [правило 932106]):

   if(req.url ~ "(?:;|\{|\||\|\||&|&&|\n|\r|\$\(|\$\(\(|`|\${|<\(|>\(|\(\s*\))\s*(?:{|\s*\(\s*|\w+=(?:[^\s]*|\$.*|\$.*|<.*|>.*|\'.*\'|\".*\")\s+|!\s*|\$)*\s*(?:'|\")*(?:[\?\*\[\]\(\)\-\|+\w'\"\.\/\\\\]+\/)?[\\\\'\"]*(?:(?:(?:a[\\\\'\"]*p[\\\\'\"]*t[\\\\'\"]*i[\\\\'\"]*t[\\\\'\"]*u[\\\\'\"]*d|u[\\\\'\"]*p[\\\\'\"]*2[\\\\'\"]*d[\\\\'\"]*a[\\\\'\"]*t)[\\\\'\"]*e|d[\\\\'\"]*n[\\\\'\"]*f|v[\\\\'\"]*i)[\\\\'\"]*(?:\s|<|>).*|p[\\\\'\"]*(?:a[\\\\'\"]*c[\\\\'\"]*m[\\\\'\"]*a[\\\\'\"]*n[\\\\'\"]*(?:\s|<|>).*|w[\\\\'\"]*d|s)|w[\\\\'\"]*(?:(?:\s|<|>).*|h[\\\\'\"]*o))\b{
------------------------------------------------------------------------------------------------------------------------------------------#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

без каких-либо дополнительных пояснений, что означает, что синтаксическая ошибка находится в пределах: \ ", это удивительно, так как "символ сбежал.

У кого-нибудь была подобная проблема в прошлом или есть идеи, как ее решить?

Регулярные выражения из наборов правил не изменены и являются стабильными из CRS ( v3.0).

1 Ответ

1 голос
/ 15 апреля 2020

Я предлагаю вам использовать длинные строки , чтобы уменьшить риск избежания проблем.

Вот как выглядит длинная строка в Varni sh:

{"Some string, including "double quotes""}

Таким образом, вам не нужно избегать двойных кавычек, и, возможно, это решит вашу проблему.

...