mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
mysql: Implement and test COM_CHANGE_USER
This reworks the parser such that COM_CHANGE_USER switches the connection back into the CONNECTION_PHASE so that we can remove the EXPECT_AUTH_SWITCH special case in the COMMAND_PHASE. Adds two pcaps produced with Python that actually do COM_CHANGE_USER as it seems not possible from the MySQL CLI.
This commit is contained in:
parent
a4c79e7304
commit
02f4665e9b
12 changed files with 275 additions and 18 deletions
|
@ -0,0 +1,50 @@
|
|||
# @TEST-EXEC: zeek -b -C -r $TRACES/mysql/change-user-error.pcap %INPUT >out
|
||||
# @TEST-EXEC: btest-diff out
|
||||
# @TEST-EXEC: btest-diff mysql.log
|
||||
|
||||
@load base/protocols/mysql
|
||||
|
||||
event mysql_ok(c: connection, affected_rows: count)
|
||||
{
|
||||
print "mysql ok", affected_rows;
|
||||
}
|
||||
|
||||
event mysql_eof(c: connection, is_intermediate: bool)
|
||||
{
|
||||
print "mysql eof", is_intermediate;
|
||||
}
|
||||
|
||||
event mysql_error(c: connection, code: count, msg: string)
|
||||
{
|
||||
print "mysql error", code, msg;
|
||||
}
|
||||
|
||||
event mysql_command_request(c: connection, command: count, arg: string)
|
||||
{
|
||||
print "mysql request", command, arg;
|
||||
}
|
||||
|
||||
event mysql_change_user(c: connection, username: string)
|
||||
{
|
||||
print "mysql change user", username;
|
||||
}
|
||||
|
||||
event mysql_handshake(c: connection, username: string)
|
||||
{
|
||||
print "mysql handshake", username;
|
||||
}
|
||||
|
||||
event mysql_auth_plugin(c: connection, is_orig: bool, name: string, data: string)
|
||||
{
|
||||
print "mysql auth plugin", is_orig, name, data, |data|;
|
||||
}
|
||||
|
||||
event mysql_auth_switch_request(c: connection, name: string, data: string)
|
||||
{
|
||||
print "mysql auth switch request", name, data, |data|;
|
||||
}
|
||||
|
||||
event mysql_auth_more_data(c: connection, is_orig: bool, data: string)
|
||||
{
|
||||
print "mysql auth more data", is_orig, data, |data|;
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
# @TEST-EXEC: zeek -b -C -r $TRACES/mysql/change-user-success.pcap %INPUT >out
|
||||
# @TEST-EXEC: btest-diff out
|
||||
# @TEST-EXEC: btest-diff mysql.log
|
||||
|
||||
@load base/protocols/mysql
|
||||
|
||||
event mysql_ok(c: connection, affected_rows: count)
|
||||
{
|
||||
print "mysql ok", affected_rows;
|
||||
}
|
||||
|
||||
event mysql_eof(c: connection, is_intermediate: bool)
|
||||
{
|
||||
print "mysql eof", is_intermediate;
|
||||
}
|
||||
|
||||
event mysql_error(c: connection, code: count, msg: string)
|
||||
{
|
||||
print "mysql error", code, msg;
|
||||
}
|
||||
|
||||
event mysql_command_request(c: connection, command: count, arg: string)
|
||||
{
|
||||
print "mysql request", command, arg;
|
||||
}
|
||||
|
||||
event mysql_change_user(c: connection, username: string)
|
||||
{
|
||||
print "mysql change user", username;
|
||||
}
|
||||
|
||||
event mysql_handshake(c: connection, username: string)
|
||||
{
|
||||
print "mysql handshake", username;
|
||||
}
|
||||
|
||||
event mysql_auth_plugin(c: connection, is_orig: bool, name: string, data: string)
|
||||
{
|
||||
print "mysql auth plugin", is_orig, name, data, |data|;
|
||||
}
|
||||
|
||||
event mysql_auth_switch_request(c: connection, name: string, data: string)
|
||||
{
|
||||
print "mysql auth switch request", name, data, |data|;
|
||||
}
|
||||
|
||||
event mysql_auth_more_data(c: connection, is_orig: bool, data: string)
|
||||
{
|
||||
print "mysql auth more data", is_orig, data, |data|;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue