基本要求是我需要在NAXSI网络应用防火墙白名单的|
中找到BasicRule
的出现次数
BasicRule wl:1015 "mz:$URL:/js/));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,|URL";
由于||
正则表达式中的$URL
,是无效规则
BasicRule wl:1015 "mz:$URL:/js/));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize(Nt._default=[1,|URL";
有效
NAXSI白名单具有https://github.com/EmirWeb/parchment
中所述的语法在egrep
/ sed
/ awk
/ perl
/ python
中检查此条件是否匹配的简便方法是什么?
答案 0 :(得分:1)
尝试在您要查找的管道 | 前放一个反斜杠 \ 。
例如,egrep '\|\|'
将匹配您的无效规则示例,但不符合您的有效规则示例。
注意基本和扩展的正则表达式(BRE和ERE),您需要反ERE的反斜杠,但不需要BRE。 grep使用BRE,egrep和awk以及python和perl使用ERE就管道字符而言,sed使用BRE,除非你拥有并使用-r
选项进行ERE。