less-7
打开靶场
测试闭合报错知道闭合的方式为’))
刚开始觉得和前几关一样,尝试报错注入
id=1’)) and updatexml(1,concat(0x7e,database(),0x7e,version()),1) --+
只报错,没有信息,得换种思路,看到这关输入id=1,给的提示是使用输入/输出文件。
拓展知识
show variables like '%secure%查看 secure-file-priv 当前的值,如果显示为null,则需要将其设置为物理服务器地址路径/路径设置为空,才可以导出文件到指定位置。
这里想要成功实现功能,要求:权限为root,知道网站的物理路径,secure_file_priv=空。
这些条件满足的话,可以写一个php文件到服务器的目录中。
?id=1')) union select 1,"<?phpinfo();?>",3 into outfile "F:\\PHPstudy\\phpstudy_pro\\WWW\\aaa.php" --+
出错了,这里就得修改secure_file_priv字段的值为空。
因为:
Mysql规定这个值为NULL时,则不允许进行文件导入导出操作。
将secure_file_priv字段的值修改为空。再尝试导出就可以看到php文件被创建,访问这个文件就可以看到输入的php执行成功了。