file=php://filter/read=convert.base64-encode/resource=index.php
php://filter/是一种访问本地文件的协议,/read=convert.base64-encode/表示读取的方式是base64编码,resource=index.php表示目标文件为index.php。
通过传递这个参数可以得到index.php的源码,下面说说为什么,看到源码中的include函数,这个表示从外部引入php文件并执行,如果执行不成功,就返回文件的源码。
include的内容是由用户控制的,所以通过我们传递的file参数,是include()函数引入了index.php的base64编码格式,因为是base64编码格式,所以执行不成功,返回源码,所以我们得到了源码的base64格式,解码即可。
如果不进行base64编码传入,就会直接执行。
本文解析了如何使用PHP的php://filter协议结合base64编码读取并获取index.php源码的方法,详细解释了利用include函数执行失败返回源码的原理。
1158

被折叠的 条评论
为什么被折叠?



