起因是在看独自等待大神的mysql提权办法,对于提权,我一直不是很懂,于是就想搭建个环境,来练练基本的mysql提权操作,,但是想起自己从没有利用注入点直接into outfile,在进行提权之前,我先练习了如何进行数据的写入和提取,于是就产生了这篇文章~
网上针对这种办法,有很多的解决办法,但是最重要的一步,也是最容易忽略的一步却很少有人提及(还是看的外国大神才真正解决这个错误的。。)
错误代码:
ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
这句代码大意就是当前mysql运行在–secure-file-priv选项下,因此在进行文件读取和写入时我们必须看看我们的这个配置有没有什么问题。
对于–secure-file-priv基本有三种情况
1.为空(不是null),这种情况就是最原始的默认情况,在这种情况下,无论怎么操作都会报错
2.为这个配置设了一个目录地址,这就是我们在进行配置后的正确做法,但是这个目录地址也对我们的文件读取写入操作进行了限制,我们只能在这个配置目录地址下进行操作
3.为null,在mysql5.7.6版本以上会出现
下面我们只要为我们的这个–secure-file-priv进行配置即可~
由于环境是windows下的,因此我们需要找到mysql的my.ini配置文件
这里我的mysql文件夹地址为D:ServerphpStudyMySQL,my.ini也就在这个目录下~
然后在[mysqld]下配置我们的允许写入读取的目录地址
例如:secure_file_priv=’D:/Server/phpStudy/WWW/test/’
但是假如我们这么配置,secure_file_priv=”,那么具有读写权限的文件我们都能进行数据的读取和写入操作,如果做测试,推荐这个,但是如果是服务器运维,,这样配置无疑会出一个很大的纰漏!
到这里我们我们重启mysql服务器即可~
但是笔者做到这里都没问题,在写入文件时仍然出现了这个1290的报错,有点崩溃。。在外国友人的提醒下幡然醒悟。。
into outfile的目录地址应该为”!!!
正确的写法应该如下:
mysql> load_file(‘D:ServerphpStudyWWWtest1.txt’);
而不是上述配置时使用的’/’,这里在国内文章很少会看到提及这点,,但是这个跟mysql报错语句无关了,,倒是写入一句话木马的事了。。
相关推荐: 【应急响应】redis未授权访问致远程植入挖矿脚本(防御篇)
作者:aerfa 转载自 我的安全视界观 前言:安利一波这个微信公众号,发表的文章都写的非常好,,无论是新手还是老师傅,,这个公众号里的文章一定能带来技术上的提升! 0 前言 应急响应这一专题,本来并没有打算写。正如公众号的说明所言,比较想分享安全测试、漏…
请登录后发表评论
注册