打开题目所给的环境我们可以看到这样一句话:
这里我先尝试访问/hint.php ,但是发现什么都没有发生, F12查看源代码也并没有发现什么,到这里来看的话似乎没有思路了,但是这个题的题目已经给了我们很明显的提示,题目上有一个:PseudoProtocols这个我查了,是伪协议的意思,所以这道题大概率是要我们伪造伪协议 ,所以在这里构造伪协议:
php://filter/convert.base64-encode/resource=hint.php
我们就可以得到一个base64的代码 :
解码之后得到的是:
这里我们访问:/test2222222222222.php
可以得到:
其中file_get_contents(a,′r′)//这句话意思是:“a,′r′)//这句话意思是:“a”是我们要读取的文件名,“r”是我们要打开的文件的模式。其中,“r”代表只读模式,意味着我们只能从文件中读取内容,而不能写入文件。
所以我们这里还需要再次构造一个伪协议去拿到我们的flag。
/test2222222222222.php?a=data://text/plain,I%20want%20flag
这样我们就能得到这道题的flag