Sqli-lab注入靶场 1-10笔记
Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)
方法一:手工UNION联合查询注入
1.输入单引号,页面报错,如下图所示。
2.访问id= 1’ and 1 = 1,由于and 1 = 1为真,所以页面应返回与id=1相同的结果,如下图所示,访问id = 1’ and 1 = 2,由于 and 1 = 2为假,所以页面应返回与id = 1不同的结果,如下图所示。
3.查询数据表的字段数量,可以理解为order by = 1 - 99,如访问id=1’order by 3 --+,页面返回与id = 1相同的结果,如下图所示。访问id = 1’ order by 4 --+,页面返回与id = 1不同的结果,如下图所示,则字段数为3。
4.接下来使用Union注入,刚才通过order by查询结果,得到字段数为3,所以Union注入的语句如下所示。(id = 非正确值,union前为假才会返回结果)
127.0.0.1/sql/Less-1/?id=-1’ union select 1, 2, 3 --+
因为返回的结果为2,3,意味着在union select 1,2,3中2和3可以输入mysql语句。我们尝试在2的位置查询当前数据库名。
127.0.0.1/sql/Less-1/?id=-1’ union select 1, da’tabase(), 3 --+