开题目
ctrl+u看看前端代码
有一段base64加密后的注释,
解密,
再解密
似乎没有其他的了,
我们尝试去url上面访问下flag.php(猜测可能是个php文件)
发现确实是
出现一段网页源码,瞧瞧看,发现逻辑是,files参数打开文件,然后提取content参数里面的数据进行过滤判断,有关键字则结束程序,没有则将content内容写进files文件里面,并且从写完后的文件里面提取数据给data变量
然后去包含data变量去执行
于是乎
我们尝试使用伪协议,参考我之前写的include02
url/flag.php?files=flag.php&content=data://text/plain;base64,PD9waHAgc3lzdGVtKCJscyAvIik/Pg==(要执行的php命令base64加密---><?php system("ls /")?>)
然后同理,我们把命令换成
<?php system("cat /flag")?>
就可以拿到flag
注意,如果写错了伪协议格式(逗号分号),会出现难以复原的情况,把环境销毁,重启环境