目 录CONTENT

文章目录

【SQL注入】——文件读写

Administrator
2022-10-30 / 0 评论 / 0 点赞 / 1852 阅读 / 3429 字

SQL注入之文件读写

文件读写注入的原理

就是利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息。

文件读写注入的条件

高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限

secure_file_priv选项

linux
cat  etc/conf

win
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常见:
微信截图_20221007205947.png
Linux常见:
微信截图_20221007210006.png

路径获取常见方式:

报错显示,遗留文件,漏洞报错,平台配置文件等

读取文件

使用函数: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 …

0

评论区