本文最后更新于521 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com


我们发现url中有参数wllm,由题目标签php伪协议,我们尝试用php伪协议读取该文件
php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。
convert.base64-encode是一种过滤器。
resource=<要过滤的数据流> 指定要筛选过滤的数据流。
wllm=php://filter/read=convert.base64-encode/resource=hint.php

然后我们用浏览器上的Base64在线解码工具,对新出的数据进行解码:

然后我们访问根目录 /test2222222222222.php 得到如下代码

代码的大概意思为:变量a用file_get_contents()函数,以只读的方式打开,如果内容等于’I want flag’的话,输出flag。
然后我们用到:
data:// 数据流封装器,以传递相应格式的数据。可以让用户来控制输入流,当它与包含函数结合时,用户输入的data://流会被当作php文件执行。
a=data://text/plain,I want flag

总结
熟练使用php伪协议 filter:// data://
文件包含