2015-11-09 53 views
0

的基本要求是,我需要找到NAXSI Web應用防火牆的白名單的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/nbs-system/naxsi/wiki/whitelists所述

有什麼簡單的方法來檢查,如果在egrep/sed/awk/perl/python此條件匹配,例如

回答

1

嘗試把一個反斜槓\在管前|,你想找到。

例如,egrep '\|\|'將與您的無效規則示例匹配,但不符合您有效規則的示例。

小心基本的和擴展的正則表達式(BRE和ERE),您需要ERE的反斜線,但不需要BRE。 grep使用BRE,egrep和awk以及python和perl使用ERE,至於管道角色而言,sed使用BRE,除非您擁有並使用ERE的-r選項。

相關問題