首页 电脑 电脑学堂 查看内容

mysql提示can't open shared library 'udf.dll'解决办法

2011-3-15 11:12 531 0

摘要:   对于can't open shared library 'udf.dll'相信很多使用mysql提权的朋友应该都不会感到陌生吧,明明是root用户 但是在使用udf.dll提权创建自定义函数时却提...
关键词: 目录 mysql udf dll 系统 函数 版本 文件夹 5.1 文件

  对于can't open shared library 'udf.dll'相信很多使用mysql提权的朋友应该都不会感到陌生吧,明明是root用户 但是在使用udf.dll提权创建自定义函数时却提示这样的错误,以前遇到这种情况一般都会放弃。  经过测试发现appserv搭建php环境能利用udf.dll提权 5.037  apache+php+mysql+phpmyadmin搭建的php环境不能利用 5.1  为什么两个系统一个能利用一个不能利用呢?原因很简单 因为 5.1版本开始必须把udf.dll文件放到mysql安装目录下的lib/blugin文件下才能创建自定义函数,并且该目录默认是没有的,而mysql into dumpfile在导出文件时也不能创建文件夹,原来mysql从5.1版本开始在把udf.dll导入到系统目录下已经不能创建自定义函数了,而一般我们都是把udf.dll导入到系统目录,自然也就不能创建自定义函数了,导致了不能提权。能够提权的系统中的mysql版本为5.0.37,不能提权的系统中的mysql的版本为5.1正好符合上面说法。  在不能利用的系统(5.037)中执行create function mycmd return string soname 'udf.dll' 时提示can't open shared library 'udf.dll' 的错误提示,说明导出到系统目录不能创建自定义函数,我们来把udf.dll导入到mysql安装目录下的lib/blugin目录中,我已经知道了mysql的安装目录为:"c:\program files\mysql\mysql server 5.1"在这个目录下目前还没有lin/plugin这个目录,我们通过webshell在mysql安装目录下创建lib文件夹然后再lib文件夹中创建plugin文件夹 在udf.php中dll导出路径就写"c:\program files\mysql\mysql server 5.1\lib\plugin\udf.dll"。这时候就可以执行 如select mycmd("net user");的sql命令来执行聪明的了。。。  通过在mysql安装目录下创建lib/plugin目录,然后再把udf.dll文件导出到该目录下,是在mysql 5.1以及更高版本中解决"can't open shared library 'udf.dll'"错误的一种办法。。。。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部