--- /dev/null
+alert http any any -> any any (msg:"HTTP with pcrexform"; http.request_line; pcrexform:"[a-zA-Z]+\s+(.*)\s+HTTP"; content:"/z4d4kWk.jpg"; sid:1;)
--- /dev/null
+requires:
+
+ files:
+ - src/detect-transform-pcrexform.c
+
+checks:
+ - filter:
+ count: 1
+ match:
+ event_type: alert
+ alert.signature_id: 1
--- /dev/null
+alert http any any -> any any (msg:"HTTP with pcrexform"; http.response_line; pcrexform; content:"/dropper.php"; sid:2;)
--- /dev/null
+requires:
+
+ files:
+ - src/detect-transform-pcrexform.c
+
+exit-code: 1
+
+checks:
+ - shell:
+ args: grep "invalid formatting or malformed option to pcrexform keyword" suricata.log | wc -l | xargs
+ expect: 1
--- /dev/null
+alert http any any -> any any (msg:"HTTP with pcrexform"; http.request_line; pcrexform:"No-match"; content:"/no-match.jpg"; sid:1;)
--- /dev/null
+requires:
+
+ files:
+ - src/detect-transform-pcrexform.c
+
+checks:
+ - filter:
+ count: 0
+ match:
+ event_type: alert
--- /dev/null
+alert http any any -> any any (msg:"HTTP with pcrexform"; http.request_line; pcrexform:[a-zA-Z]+\s+(.*)\s+HTTP; content:"/z4d4kWk.jpg"; sid:1;)
--- /dev/null
+requires:
+
+ files:
+ - src/detect-transform-pcrexform.c
+
+exit-code: 1
+
+checks:
+
+ - shell:
+ args: grep "invalid formatting to pcrexform keyword" suricata.log | wc -l | xargs
+ expect: 1
--- /dev/null
+alert http any any -> any any (msg:"HTTP with pcrexform"; \
+ http.request_line; pcrexform:"[a-zA-Z]+\s+(.*)\s+HTTP"; \
+ content:"/z4d4kWk.jpg"; \
+ http.user_agent; pcrexform:"([a-zA-Z]+\/[0-9]\.54\.0)"; \
+ content:"curl/7.54.0"; \
+ http.host; pcrexform:"([a-zA-Z]\.[a-zA-Z]+\.com+)"; \
+ content:"i.imgur.com"; \
+ sid:1;)
--- /dev/null
+requires:
+
+ files:
+ - src/detect-transform-pcrexform.c
+
+checks:
+ - filter:
+ count: 1
+ match:
+ event_type: alert
+ alert.signature_id: 1
--- /dev/null
+alert http any any -> any any (msg:"HTTP with pcrexform"; \
+ http.request_line; pcrexform:"[a-zA-Z]+\s+(.*)\s+HTTP"; \
+ content:"/no-match-here"; \
+ http.user_agent; pcrexform:"([a-zA-Z]+\/[0-9]\.54\.0)"; \
+ content:"no-match-here"; \
+ http.host; pcrexform:"([a-zA-Z]\.[a-zA-Z]+\.com+)"; \
+ content:"no-match-here"; \
+ sid:1;)
--- /dev/null
+requires:
+
+ files:
+ - src/detect-transform-pcrexform.c
+
+checks:
+ - filter:
+ count: 0
+ match:
+ event_type: alert
+ alert.signature_id: 1