mysql利用ntfs的ADS创建文件夹

熟悉mysql的同志大家都知道,mysql版本的更替很快,也导致了黑客技术的变化。

最明显的就是在使用udf提权时候的变化

  1. 版本<mysql 5.0  这时候的版本帖主不是非常清楚,因为没有实际遇到过,就从网络资料上抄了一些来,这时候的udf的限制比较松,可以使用绝对路径的UDF,比如create function cmdshell returns string soname ‘c:/test/udf.dll’
  2. 版本<mysql 5.1并且>mysql 5.0  这时候对于udf的限制比较苛刻了,udf的路径必须放置在c:\windows\system32目录中或者mysql的插件目录中。(插件目录可以使用select @@plugin_dir命令来获得
  3. 版本>mysql 5.1  时候对udf的限制最为严格,这时候的udf必须放置在插件目录中。

但是默认安装的mysql并没有lib\plugin目录,在我们没有webshell不能创建目录的情况下或者是webshell没有权限创建目录的情况下,我们需要mysql能够为我们创建一个目录。而mysql本身不具备创建目录的功能,这时候很多人就放弃了,其实我们结合ntfs的特性可以实现用mysql实现创建文件夹。

假设我们的插件目录是c:\mysql\lib\plugin这时候lib和plugin目录是不存在的,这时候我们用两个mysql语句就能实现创建文件夹

select 'xxx' into dumpfile 'C:\\MySQL\\lib::$INDEX_ALLOCATION';

select 'xxx' into dumpfile 'C:\\MySQL\\lib\\plugin::$INDEX_ALLOCATION';

这时候会报错ERROR 3 (HY000): Error writing file 'C:\MySQL\lib::$INDEX_ALLOCATION' (Errcode: 22)这个不用担心,目录已经创建了

但需要注意的是这时候的二级目录plugin目录权限是比较奇怪的,在explore下是没有权限将文件移进去的,这个帖主也比较奇怪,但是不影响上述udf的使用

菜鸟言论,仅供娱乐

你可能感兴趣的:(mysql利用ntfs的ADS创建文件夹)