标签:ACTF2020 php 读取 base64 新生 filter 源码 encode Include
1、打开靶机,点击tips获取帮助
2、发现无明显变化
3、可发现是文件包含,已经明确给出,文件包含直接读取的是文件,而不是文件源码,所以要想办法读取源码方法。
那么就要涉及到 PHP 伪协议,这个是之前接触很少的东西,先了解一下PHP伪协议
五种常见的php伪协议_浪_zi的博客-CSDN博客_php伪协议
得到通过php://filter构造读取目标文件源码
通过进行以下构造即可看到源码
?file=php://filter/convert.base64-encode/resource=flag.php 或 ?file=php://filter/read=convert.base64-encode/resource=flag.php
4、进行解码
通过base64解码即可得到源码
知识点总结:
php伪协议的用法:
php://filter(本地磁盘文件进行读取)
元封装器,设计用于”数据流打开”时的”筛选过滤”应用,对本地磁盘文件进行读写。
1 ?filename=php://filter/convert.base64-encode/resource=xxx.php 2 ?filename=php://filter/read=convert.base64-encode/resource=xxx.php
两者效果一样。
条件:只是读取,需要开启 allow_url_fopen,不需要开启 allow_url_include;
标签:ACTF2020,php,读取,base64,新生,filter,源码,encode,Include 来源: https://www.cnblogs.com/Rammstein-and-rock/p/16293941.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。