php伪协议 [ACTF2020 新生赛]Include1

打开题目

点击后

期间bp抓包也一无所获

那我们回到题目上来

我们可知这是文件包含漏洞,但是我们直接读取的是flag.php文件,而非flag.php文件源码,那我们想要获取文件源码,这里就涉及到php伪协议


php://filter可以获取指定文件源码。当它与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,让其不执行。从而导致任意文件的读取

php://filter/read=convert.base64-encode/resource=index.php

php://filter/resource=index.php

利用filter协议读文件,将index.php通过base64编码后进行输出。这样做的好处就是如果不进行编码,文件包含后就不会有输出结果,而是当做php文件执行了,而通过编码后则可以读取文件源码。

一些文件包含漏洞的总结:CTF中文件包含漏洞总结-CSDN博客


这道题我们需要读取文件源码,所以我们采用第一种方式,base64进行编码使其避开被当做php文件执行,convert.base64-encode,就是一种过滤器。

payload:

?file=php://filter/read=convert.base64-encode/resource=flag.php

得到flag文件被base64加密后的源文件

base64解码后 得到flag

发现flag是被单行注释掉了,故不在页面上显示出来

相关推荐
小成202303202651 小时前
C++~07补充
开发语言·c++
用户60968624266082 小时前
页面构建器做的页面翻译:短代码、区块、动态内容各自会踩什么坑
php·wordpress
阿文和她的Key2 小时前
PHP2Shell事故四层拆解:AI找洞是小时级,披露协调还是邮件级
网络·人工智能·架构·php
2401_885885044 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
程序猿乐锅5 小时前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节
Wang's Blog5 小时前
Java 项目实战: 交友项目 - 查询圈子个人动态:查询我的动态需求分析
java·开发语言·交友
凯瑟琳.奥古斯特5 小时前
力扣1016高效解法:剪枝优化技巧
开发语言·c++·算法·leetcode·职场和发展
坤坤子吖6 小时前
C++继承:友元、静态成员、多继承与组合
开发语言·c++·笔记·学习·1024程序员节
贵州诚鑫致达科技有限公司6 小时前
PHP两个9.2分RCE漏洞,速查版本
服务器·php·1024程序员节