微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[ACTF2020 新生赛]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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐