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指定字符的時候完全忽略其限制。