BugkuCTF–flag在index里:
这里注意到url地址:http://120.24.86.145:8005/post/index.php?file=show.php
这里是个典型的文件包含漏洞,(file关键字是提示,其实是CTF的套路)。
还有
这里用到了PHP的封装协议:http://php.net/manual/zh/wrappers.php.php
现在具体说说file=php://filter/read=convert.base64-encode/resource=index.php的含义:
首先这是一个file关键字的get参数传递
php://是一种协议名称
php://**filter/是一种访问本地文件的协议**
/read=convert.base64-encode/表示读取的方式是base64编码后**resource=index.php 表示目标文件为index.php**
通过传递这个参数可以得到index.php的源码,下面说说为什么,看到源码中的include函数,include函数表示从外部引入php文件并执行,**如果执行不成功,**就返回文件的源码
而include的内容是由用户控制的,所有通过我传递file参数,是include()引入了index.php的base64编码格式,因为是base64编码格式,所以执行不成功,返回源码,所以我们得到了源码的base64的格式。解码即可。
如果不进行base64编码传入,就会直接执行,而flag的信息在注释中,是得不到的。