Ваш контент pcre не соответствует правильному синтаксису. Вам нужно поместить содержимое между косой чертой (/). См. руководство здесь . Таким образом, ваш вариант pcre должен выглядеть следующим образом:
pcre:"/abc=''/"
Я также хотел бы отметить, что этого pcre, вероятно, недостаточно для того, что вы хотите сделать. Я бы сделал что-то вроде следующего:
pcre:"/abc=('|\")(\1)/C"
Это позволит вам искать как одинарные, так и двойные кавычки, чтобы это соответствовало одному из следующих:
абс=''
абс=""
Кроме того, добавление буквы C в конце pcre заставит snort проверять только следующее:
Соответствие нормализованному HTTP-запросу или HTTP-ответу cookie.
Что более эффективно и менее подвержено ложным срабатываниям, поскольку проверяет только нормализованное содержимое файлов cookie. Он также менее подвержен ложным отрицательным результатам, потому что он проверяет нормализованное содержимое файла cookie, потому что, если файл cookie по какой-либо причине закодирован в URL-адресе, ' будет% 27, а " будет % 22, и pcre не будет соответствовать. Предоставление опции C snort проверит нормализованную полезную нагрузку и будет соответствовать.
Таким образом, ваше окончательное правило может выглядеть так:
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORT (sid:xxx; gid:1; content:"/abc/abc.php"; http_uri; pcre:"/abc=('|\")(\1)/C"; msg:"BLACKLIST - request without cookie ";)
person
johnjg12
schedule
25.11.2016