mysqli学习

文件读取(mysql的secure-file-priv作用)

参考:
https://xz.aliyun.com/t/3973
https://sqlwiki.netspi.com/attackQueries/readingAndWritingFiles/#mysql

show global variables like "secure_priv_file";

在这里插入图片描述

secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。

  • secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
  • secure_file_priv的值为/var/lib/mysql-files/ ,表示限制mysqld 的导入|导出只能发生在/var/lib/mysql-files/目录下,此时如果读写发生在其他文件夹,就会报告如下错误:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
  • secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

mysql软件的test用户没有权限读文件:
在这里插入图片描述
mysql软件的root用户可以:

在这里插入图片描述
读写文件的参考这个:
https://sqlwiki.netspi.com/attackQueries/readingAndWritingFiles/#mysql

当修改了文件/etc/mysql/my.cnf,将这个值修改为空之后,就表示对文件读写没有限制了。(在5.7.26-0ubuntu0.18.04.1上默认值是/var/lib/mysql-files

secure-file-priv = ""

(PS:也可以用命令行启动参数修改:
//限制mysqld 不允许导入 | 导出:
mysqld --secure_file_prive=null

//限制mysqld 的导入 | 导出 只能发生在/tmp/目录下:
mysqld --secure_file_priv=/tmp/
参考:https://xz.aliyun.com/t/2293

在这里插入图片描述
修改为空之后:
在这里插入图片描述
发现可以将数据导出到/tmp目录下了,但是看看文件的权限都是mysql的操作系统权限。所以OS用户mysql权限能操作的文件决定了在sqli中能做的事。
在这里插入图片描述
验证一下mysqld确实是以mysql用户启动的。
在这里插入图片描述

对于通过sqli读写web路径文件的事情,就看两边(mysql和web服务)的权限了。
1、如果mysql的secure_file_priv限定在了某目录或设置为null,那没办法,不能读/写web服务文件;
2、如果mysql的secure_file_priv设置为"",即空,没有限制,那得看当前通过sqli拿到的mysql用户权限是什么。如果是普通用户,可能没有给他设置读/写文件系统的权限,即便secure_file_priv没有限制,也不能读写。演示如下:
在这里插入图片描述
3、即便是mysql软件中的root权限,那也只是OS级别的mysql权限(如果mysqld以OS的mysql用户启动)。web目录一般倒是可以读,但是写的话应该不行,以为web目录一般是OS级别的apache或者tomcat启动的(少数以root启动)。

所以总结来说就是四个限制:
1,secure_file_priv属性值;
2,mysql软件中的用户权限;
3,mysqld进程启动用户的权限;
4,web目录的所属者,以及其读写权限。

防御角度也是以上面四个方面来限制。

Union查询

在这里插入图片描述

dnslog

另外这篇文章说可以用load_file()函数进行任意域名请求,可以在盲注中检测漏洞是否存在,但是这个特性是因为在Windows下可以读取UNC路径(局域网)下的文件,比如\\dns.com

参考:https://p0rz9.github.io/2018/09/26/%E5%88%A9%E7%94%A8DNSLOG%E5%BF%AB%E9%80%9F%E8%8E%B7%E5%8F%96%E6%95%B0%E6%8D%AE(%E7%9B%B2%E6%B3%A8)/

发布了601 篇原创文章 · 获赞 101 · 访问量 100万+

猜你喜欢

转载自blog.csdn.net/caiqiiqi/article/details/104572488