许多时候,我们都会使用mysqldoor来留住我们的服务器权限,有时候也经常性的使用udf来进行提权,常常碰到这种情况,Can’t open shared library ‘mysqlDll_1278197415.dll’ 。
这里使用的孤水饶城兄写的UDF提权工具。如图1。
先排除几种可能.
1、被服务器端的杀软KILL。
2、没写入文件。
3、由于脚本生成在system32目录下的文件名随机,导致程序没找到文件名。
1、我在本地进行测试,关闭了杀软,所以这种情况不存在,排除。
2、打开system32目录,生成出来的程序安安静静的躺在目录下。图2
1、做出第三种假设已经是排除前两种可能的情况下,既然怕程序是问题,那我们手动创建吧。(mysql5.0以上就不支持带绝对路径,所以生成在system32下)如图3
如图:4
去google了一番,网上还是没有最终的答案,只找到一个比较好的文章,那就是ninty写的那篇创建函数问题。可是琢磨一会还是没看懂。最后,看到无名在线,他常年在php环境下,对mysql比较了解。
跟他讨论以后,他给出问题的解决方法是把udf放在mysql中的data目录下。如图:5
他在他的机器上可以成功,我这就是通过不了。最后,用QQ协助,让他操作我的电脑,最后还是得不到解答,只能与好神奇来结束。
无奈下,到BK群求助,ninty说是路径问题,后来加了Q,远程以后,才得以解决。最后,总算明白他那篇文章,哈哈,这里不要怪我哈,我把资料做个整理。
提权之前,确定mysql权限,要是4.0版本直接用路径;要是5.0版本,放在system32目录下还不行,就放在data,要是在5.1版本下,操作会比较麻烦。用
show variables like %plugin%;
只要把文件放在这个path下,就可以执行成功!但前提,你必须有mysql目录下目录创建权限。