将特定顺序的数据包内容与 Suricata 匹配?
Matching packet Content in a specific order with Suricata?
我正在尝试创建一个 Suricata 规则,当且仅当找到所有内容并按特定顺序匹配数据包时。
我当前规则的问题是即使数据包内容是test2 test1
它也会匹配。
有没有不使用 pcre 就可以实现这个功能的方法?
alert tcp $HOME_NET any -> $EXTERNAL_NET [80,443] (msg:"Test Rule"; flow:established,to_server; content:"test1"; fast_pattern; content:"test2"; distance:0; classtype:web-application-activity; sid:5182976; rev:2;)
我发现我用来测试 Suricata 签名的方法是在某个时候复制测试数据,导致签名始终触发。
关于回答我自己的问题,可以通过在第一个内容匹配后添加距离修饰符来强制执行内容顺序。
见于:
content:"one"; content:"two"; distance:0; content:"three"; distance:0; . . .
据我所知,fast_pattern
关键字可以省略。
我正在尝试创建一个 Suricata 规则,当且仅当找到所有内容并按特定顺序匹配数据包时。
我当前规则的问题是即使数据包内容是test2 test1
它也会匹配。
有没有不使用 pcre 就可以实现这个功能的方法?
alert tcp $HOME_NET any -> $EXTERNAL_NET [80,443] (msg:"Test Rule"; flow:established,to_server; content:"test1"; fast_pattern; content:"test2"; distance:0; classtype:web-application-activity; sid:5182976; rev:2;)
我发现我用来测试 Suricata 签名的方法是在某个时候复制测试数据,导致签名始终触发。
关于回答我自己的问题,可以通过在第一个内容匹配后添加距离修饰符来强制执行内容顺序。
见于:
content:"one"; content:"two"; distance:0; content:"three"; distance:0; . . .
据我所知,fast_pattern
关键字可以省略。