suricata中url decode的问题

测试发现当匹配union select的时候,无法匹配上,而匹配union%20select的时候可以,说明在匹配规则的时候没有URL解码。
suricata中的uri有两种:原始raw_uri与标准化normalized uri
以空格为例,空格就是normalized uri,而20%就是raw_uri。raw_uri和normalized uri的缓冲区是分开的。
我们修改规则为:
alert http any any -> any any (msg:”ImageMagick RCE”;flow:established,to_server; content:”123 456″;http_uri; classtype:vinc; sid:1000002; rev:1;)
在content后添加http_uri;
这是看snorby的报警发现依然是URL编码的,但是匹配规则的时候已经解码了。因为只是针对于uri,所以post的内容是无法url解码的。
参考文章:http://jasonish-suricata.readthedocs.io/en/latest/rules/http-uri-normalization.html