本文主要是介绍2.5 SQL注入之文件读写,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SQL注入之文件读写
文件读写注入的原理
就是利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息。
文件读写注入的条件
高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限
secure_file_priv选项
linux
cat etc/confwin
www/mysql / my.ini
show global variables like ‘%secure%’ 查看mysql全局变量的配置
1、读写文件需要 secure_file_priv
权限
secure_file_priv=
代表对文件读写没有限制
secure_file_priv=NULL
代表不能进行文件读写
secure_file_priv=d:/phpstudy/mysql/data
代表只能对该路径下文件进行读写
2、知道网站绝对路径
Windows常见:
Linux常见:
路径获取常见方式:
报错显示,遗留文件,漏洞报错,平台配置文件等
读取文件
使用函数:load_file()
后面的路径可以是单引号,0x,char转换的字符。
注意:路径中斜杠是/不是\。
一般可以与union中做为一个字段使用,查看config.php(即mysql的密码),apache配置…
写入文件
使用函数:Into Outfile
(能写入多行,按格式输出)和 into Dumpfile
(只能写入一行且没有输出格式)
outfile 后面不能接0x开头或者char转换以后的路径,只能是单引号路径
2.6 SQL注入之基础防御
魔术引号
魔术引号(Magic Quote)是一个自动将进入 PHP 脚本的数据进行转义的过程。
最好在编码时不要转义而在运行时根据需要而转义。
魔术引号:
在php.ini文件内找到
magic_quotes_gpc = On 开启将其改为magic_quotes_gpc = Off 关闭
内置函数
做数据类型的过滤
is_int()等
addslashes()
mysql_real_escape_string()
mysql_escape_string()
自定义关键字
str_replace()
其他安全防护软件 WAF …
这篇关于2.5 SQL注入之文件读写的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!