sqli-labs闯关指南--01-10关(⾮常详细)
注意:
如果你是使⽤的phpstudy,请务必将sql的版本调到5.5以上,因为这样你的数据库内才会有information_schema数据库,⽅便进⾏实验测试。
另外-- (这⾥有⼀个空格,–空格)在SQL内表⽰注释,但在URL中,如果在最后加上-- ,浏览器在发送请求的时候会把URL末尾的空格舍去,所以我们⽤–+代替-- ,原因是+在URL被URL编码后会变成空格。
要学会利⽤报错信息来判断注⼊类型
Less-1
1、先测试and 1=2,回显正常,说明不是数值型注⼊
2、接着在id=1后添加’,发现报错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘1’’ LIMIT 0,1’ at line 1
从报错内容中可以看出id传⼊的是str类型,可以分解成这样来看:
传递了⼀个1’的参数,并且1’的参数⽤单引号包裹,最后再最外层⼀层单引号
’ ’ 1’ ’ LIMIT 0,1 ’
3、输⼊–+将后⾯的语句注释掉,发现回显正常,说明此处是单引号字符型注⼊
4、接着使⽤order by语句判断该表中⼀共有多少列数据,order by 3回显正常,order by 4回显不正常,说明存在3列数据
5、将id改为数据库不存在的id值,如负数或0,再⽤union select 1,2,3联合查询语句查看显⽰位。输出了2与3,这⾥可以看出有两个显⽰位
6、利⽤2、3显⽰位,爆出当前数据库的表名
7、接着爆出users的所有列名
8、最后查询username、password这两字段的数据,成功爆破
Less-2
1、输⼊id=1? and 1=2 --+回显信息发⽣变化,⽆错误信息,说明是数值型注⼊
也可以输⼊?id=1’根据错误信息来判断(推荐这种⽅式),报错信息如下:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’ LIMIT 0,1’ at line 1
发现多出来⼀个单引号,说明是数值型。把单引号删掉,改为?id=-1 union…按照之前的操作就⾏了用phpstudy搭建网站
2、order by 3显⽰正常,order by 4显⽰不正常,所以该表有3列数据
3、接着可以仿造less-1,使⽤联合查询进⾏注⼊
Less-3
1、向页⾯输⼊?id=1’ ,报错信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘1’’) LIMIT 0,1’ at line 1
发现有括号闭合,那就变成
报错信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’) LIMIT 0,1’ at line 1
这时候就显⽰多了’),说明是(’’)这种⽅式闭合字符串的
2、接着使⽤order by 判断表中有多少列数据
3、接着使⽤联合查询,union select 1,2,3判断页⾯有多少个显⽰位,⽅法与less-1⼀样,在此不再赘述
Less-4
与第三关类似,第四关使⽤("")⽅式闭合字符串,然后可以优先使⽤联合查询注⼊
1、当输⼊?id=1’,发现没有报错。改⽤?id=1",报错信息如下:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘“1"”) LIMIT 0,1’ at line 1
猜测是("")这种⽅式闭合字符串的
2、当输⼊?id=1") --+时回显正常,说明猜测正确
3、剩下的查询⽅式与前⾯关卡的联合查询⽅式⼀样
Less-5
第⼀种⽅法–报错注⼊破解:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论