sqli-labs:Less-7

Less 7实验主要是:数据导出文件漏洞

为了便于学习,直接查看了源代码:

这里发现是')),所以直接输入
http://localhost/less-7/?id=1'))%23

返回正常。
同时也发现,这里是无任何回显的,无论是错误还是正常显示的信息。

从本节的名字:GET - Dump into outfile - String ,所以我们就从这个方向进行渗透。

http://localhost/less-7/?id=1')) union select 1,database(),user() into outfile "D:\aaa.txt"%23

一开始,无论怎么输入,都是无法导出文件的。这是由于没有导入导出的权限,原因是由参数secure_file_priv决定的。
这是MySQL的一个特性,secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。其中:
当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时(null值),表示不对mysqld 的导入|导出做限制

在MySQL命令行中输入:show global variables like '%secure%';

这里是NULL,标识不允许导入和导出。

因此我们修改一下MySQL下的my.ini配置文件即可。在文件中加入:secure_file_priv=

然后重启MySQL数据库,然后再输入:
http://localhost/less-7/?id=1')) union select 1,database(),user() into outfile "D:\aaa.txt"%23

我们就可以看到导出的内容了。

猜你喜欢

转载自www.cnblogs.com/tangjf10/p/12602116.html