Skip to content

Commit

Permalink
mysql: add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
QianKaiLin committed Sep 29, 2024
1 parent f27b795 commit b8d0533
Show file tree
Hide file tree
Showing 14 changed files with 160 additions and 0 deletions.
Binary file added tests/mysql-command/input.pcap
Binary file not shown.
15 changes: 15 additions & 0 deletions tests/mysql-command/suricata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
%YAML 1.1
---

outputs:
- eve-log:
enabled: yes
filetype: regular
filename: eve.json
types:
- alert

app-layer:
protocols:
mysql:
enabled: yes
1 change: 1 addition & 0 deletions tests/mysql-command/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alert mysql any any -> any any (msg:"test mysql";mysql.command; pcre:"/(?:[1-9]\d{5})(?:(?:1[89]\d{2}|2\d{3})(?:0[1-9]|1[012])(?:0[1-9]|[12][0-9]|3[01]))\d{2}(?:\d)(?:[0-9xX])/i""; sid:1;)
11 changes: 11 additions & 0 deletions tests/mysql-command/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
args:
- -k none


checks:
- filter:
count: 1
match:
event_type: alert
alert.signature: "test mysql"

6 changes: 6 additions & 0 deletions tests/mysql-prepare-statement/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Test Description

Test mysql prepare statement like `select * from xxx where id = ?`.

## PCAP
This PCAP was generated from flow in my workspace.
Binary file added tests/mysql-prepare-statement/input.pcap
Binary file not shown.
73 changes: 73 additions & 0 deletions tests/mysql-prepare-statement/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
requires:
min-version: 8

args:
- -k none

checks:
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id =1 limit 1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id =2 limit 1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id=3 and client_code=client2 limit
1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id =4 limit 1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id =5 limit 1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id =6 limit 1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id =7 limit 1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id=8 and client_code=client2 limit
1
mysql.tls: false
mysql.version: 8.4.0
- filter:
count: 1
match:
event_type: mysql
mysql.command: select * from requests WHERE id=9 and client_code=client2 limit
1
mysql.tls: false
mysql.version: 8.4.0
6 changes: 6 additions & 0 deletions tests/mysql-query/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Test Description

Test mysql normal sql statement.

## PCAP
This PCAP was generated from flow in my workspace.
Binary file added tests/mysql-query/input.pcap
Binary file not shown.
22 changes: 22 additions & 0 deletions tests/mysql-query/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
requires:
min-version: 8

args:
- -k none

checks:
- filter:
count: 1
match:
event_type: mysql
mysql.version: 8.0.32
mysql.tls: false
mysql.command: "SELECT VERSION()"
mysql.rows[0]: "8.0.32"
- filter:
count: 1
match:
event_type: mysql
mysql.version: 8.0.32
mysql.tls: false
mysql.command: "ping"
Binary file added tests/mysql-rows/input.pcap
Binary file not shown.
15 changes: 15 additions & 0 deletions tests/mysql-rows/suricata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
%YAML 1.1
---

outputs:
- eve-log:
enabled: yes
filetype: regular
filename: eve.json
types:
- alert

app-layer:
protocols:
mysql:
enabled: yes
1 change: 1 addition & 0 deletions tests/mysql-rows/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alert mysql any any -> any any (msg:"test mysql";mysql.rows; pcre:"/(?:[1-9]\d{5})(?:(?:1[89]\d{2}|2\d{3})(?:0[1-9]|1[012])(?:0[1-9]|[12][0-9]|3[01]))\d{2}(?:\d)(?:[0-9xX])/i""; sid:1;)
10 changes: 10 additions & 0 deletions tests/mysql-rows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
args:
- -k none

checks:
- filter:
count: 1
match:
event_type: alert
alert.signature: "test mysql"

0 comments on commit b8d0533

Please sign in to comment.