Snort
3.5.7 depth
depth
3.5.26 pcre
pcre能夠讓采用perl兼容的正則表達(dá)式來書寫規(guī)則,關(guān)于pcre正則表達(dá)式的更多細(xì)節(jié),請查閱 PCRE網(wǎng)址。
- i 大小寫敏感
- s
- A
- E
- G
格式
pcre:[!]"(/<regex>/|m<delim><regex><delim>)[ismxAEGRUBPHMCOIDKYS]";
Note
Example
此例是要大小寫不敏感的匹配HTTP URL foo.php?id=<some numbers>
alert tcp any any -> any 80 (content:"/foo.php?id="; pcre:"/\/foo.php?id=[0-9]{1,10}/iU";)
Note
最好將pcre和content配合使用。這將會使得fast-pattern 匹配程序去過濾掉那些不符合的包從而使pcre不至于去匹配所有經(jīng)過網(wǎng)口的包。
Note
Snort使用pcre不支持對于多個URI的匹配,如果不和uricontent配合使用 的話,PCRE只會去匹配第一個URI。為了使pcre去檢查所有的URI,需要使用content或者uricontent。
- R 從最近一次匹配結(jié)果的末尾開始匹配
- U 匹配被預(yù)處理器解碼后的URI(類似于uricontent和http_url)。這個修飾符不能與非格式化的HTTP請求URI緩存(I)修飾同一個content。
- I 匹配未規(guī)范化(也就是未被預(yù)處理器處理的)的原始HTTP請求URI(類似http_raw_uri)。這個修飾符不能與(U)修飾同一個content。
- P 匹配未規(guī)范化的HTTP請求體(類似于http_client_body)。對于SIP消息,匹配SIP請求或者相應(yīng)的消息體(類似于sip_body)。
- H 匹配規(guī)范化的HTTP請求或者響應(yīng)頭部(類似于http_header)。這個修飾符不能和(D)修飾同一個content。對于SIP消息,匹配SIP請求或者響應(yīng)頭部(類似于sip_header)。
- D 匹配未規(guī)范化的HTTP請求或者響應(yīng)頭部(類似于http_raw_header)。這個修飾符不能和(H)修飾同一個content。
- M 匹配規(guī)范化的HTTP請求方法(類似于http_method)。
- C 匹配規(guī)范化的HTTP請求或者響應(yīng)的cookie(類似于http_cookie)。此修飾符不能和(K)修飾同一個content。
- K 匹配未規(guī)范化的HTTP請求或者響應(yīng)的cookie(類似于http_raw_cookie)。此修飾符不能和(C)修飾同一個content。
- S 匹配HTTP響應(yīng)狀態(tài)碼(類似于http_stat_code)。
- Y 匹配HTTP響應(yīng)狀態(tài)消息(類似于http_stat_msg)。
- B 不使用解碼緩存(類似rawbytes)。
- O 不管已經(jīng)配置的pcre匹配限制和pcre匹配在這個表達(dá)式的遞歸限制(參見2.1.3)。它在評估pcre指定字符的時(shí)候完全忽略其限制。