题蛮简单的,主要是复习了几个伪协议协议,记录一下
先是检测text是否等于
data伪协议可以实现(input为post传输)
payload:
data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=
进入if语句 先是正则检测file中是否存在flag
没有的化直接包含file 提示了useless.php
用filter读一下源码
php://filter/read=convert.base64-encode/resource=useless.php
解码得到:
这里有个Flag类,同时有__tostring()魔术方法,会将file的值读出来
同时注意到password会echo一个字符串,这里可以调用__tostring
pop链:
通过password传入 反序列化输出后,调用flag,输出flag.php