一道老题,nss和buu上都有这道题,但是同样的步骤在buu上可以做出来但是nss上有点问题,就以buu为讲解

代码审计:
(1)get传入两个参数text和file
(2)text参数利用file_get_contents()函数只读形式打开,并且打开后的内容为“I have a dream”
看到file_get_contents()函数,就要联想到用php伪协议,需要用data://协议用filter协议去读下next.php的源码
扩展两种伪协议

例子:1.php://filter/read=convert.base64-encode/resource=[文件名]///读取文件源码
这道题的payload就需要用filter来读取next.php的源码:php://filter/convert.base64-encode/resource=next.php//这是后半截
data://数据流封装器,以传递相应格式的数据。通常可以用来执行PHP代码。
data://text/plain
和在一起就是index.php?text=data://text/plain,I have a dream&file=php://filter/convert.base64-encode/resource=next.php