Snort規則中的邏輯關系


0x01

看一條規則
alert tcp any any -> any any (content:"union";http_uri;nocase;content:"select":nocase;http_uri;)
下面這兩條會觸發哪一條?
http://foo.com?id=union select
http://foo.com?id=select union
實驗結果是都會觸發。
這個實驗說明content如果不加distance之類的修飾符的話,多個content匹配是沒有順序的。

0x02

再看一條規則
alert tcp any any -> any any (content:"union";http_uri;nocase;content:"select":nocase;http_uri; pcre:"/union\s+(all\s+)?select\s+/Ui";)
還是這兩條規則:
http://foo.com?id=union select
http://foo.com?id=select union
實驗結果是只會觸發第一條。
這說明,不同關鍵詞之間(比如content和pcre)是“邏輯與”的關系。

0x03

最后一條規則
alert tcp any any -> any any (content:"union";http_uri;nocase;content:"s3l3ct":nocase;http_uri; pcre:"/union\s+(all\s+)?select\s+/Ui";)
發現上面兩條都匹配不到了,說明所有關鍵詞之間都是“邏輯與”的關系。



文/小天是我見過最單純善良的人(簡書作者)
原文鏈接:http://www.jianshu.com/p/9d11a3e039e9
著作權歸作者所有,轉載請聯系作者獲得授權,並標注“簡書作者”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM