https://buuoj.cn/challenges#[WUSTCTF2020]%E6%9C%B4%E5%AE%9E%E6%97%A0%E5%8D%8E
之前摸鱼基本都是打派派下午不怎么上的去分,现在这赛季上钻了下赛季风暴点不怎么喜欢玩,所以花在题上的时间可能更多了。可喜可贺。
首先这道题一来遇到过很多次了,f12,robots.txt,没有就去用工具扫或者看请求头这些先,凭经验决定查看到提示的快慢和多少,那么我选择一来抓包看robots.txt,因为他提到了header,用burp看会比较直观方便。


这我f12的时候还没注意看到这个提示,那看到bot首先想到robots.txt,这不给提示也其实应该去看看。

假的flag.php,但是没提示也只能先去看看

果然是假flag,这里我忽视了请求头的东西,回去浪费了些时间,之后才注意到请求头里面有个/fl4g.php,burp打开因为本来就有文字编码问题,burp打开也略微抽象不好做,所以转到火狐上了。
网页可见:

要是嫌乱码不舒服可以在网页按下Alt,在网页上方的查看里面修复文字编码,按键是alt,然后弹出上方选项按v,然后按c,就变成了朱一蛋经典语录,在2022年看来令人感慨。
至此开始解题最后三关,经典get三问,首先是

这里数组绕过是行不通的,我们都知道,md5绕过原理是因为:md5的参数必须是字符串,两边的md5传入数组会返回false,而false=false,所以弱比较成功,而这里因为数组传上去$md5=数组,而右边因为md5加密后变成了false,数组不等于false,所以比较失败,而这里做题还是最好转个编码看看,不然像我一样做到最后因为中间错了而回头找原因又会比较麻烦;
最后,level 3:
strstr这个函数也不是第一次遇到了:strstr函数用来查找字符串的首次出现,这里也就是我们传入的参数不能包含空格,而这里也ban掉了cat,在上次我们在[安洵杯 2019]easy_web里就遇到过ban cat和其他输出类型的题,那时候我们学到了用\和sort 来代替这里其实也可以用tac,而空格绕过也是老生常谈的几个值:
${IFS} 注意不能写成 $IFS
以及 $IFS$9 和 %09
当然 <> 和 < 也是可以的

在ls查看了目录后也是发现了最后的文件
那么最终payload:
有很多,这里除了我自己的ca\t${IFS},more<,tac$IFS$9这些也都行

这里我犯了个错误,忘记加$了,大家自己做的时候一定要记得检查一下自己的payload。