SWPUCTF 2021 新生赛 include lamaper的WriteUp | NSSCTF
知识点:php伪协议
php://伪协议是php提供的一些输入输出流访问功能,允许访问php的输入输出流,标准输入输出和错误描述符,内存中,磁盘备份的临时文件流,以及可以操作其他读取和写入文件的过滤器。
首先看到题目提示传个file,遂/?file=…….一个随意参数,而后得到源代码
|
|
发现有include_once函数; include_once():在脚本执行期间包含并运行指定文件。该函数和include 函数类似,两者唯一的区别是 使用该函数的时候,php会加检查指定文件是否已经被包含过,如果是,则不会再被包含。
于是利用伪协议构造,
|
|
得到经过Base64加密的flag,解密即可。
另:php伪协议 常见的php伪协议
1)file:// 访问本地文件系统
2)http:// 访问HTTP(S)网址
3)ftp:// 访问FTP(S)URL
4)php:// 访问各个输出输入流
5)zlib:// 处理压缩流
6)data:// 读取数据
7)glob:// 查找匹配的文件路径模式
8)phar:// PHP归档
9)rar:// RAR数据压缩