攻防世界-fileclude
攻防世界的一道文件包含题目
include(“文件名”);会将文件中的内容视为代码块接入include所在代码中,输出的只是执行后的结果,文件中的注释、定义等无法查看。
本题中可以控制的变量有file1和file2,file2用于满足if判断要使其内容为“hello ctf”。但是需要注意直接file2=hello%20ctf是不行的,因为file_get_contents()的参数也为文件名,直接file2=hello%20ctf时file2为字符串,需要用data://协议使它当做文件。file1用于提取flag.php中的内容并用base64编码以防止执行,然后通过include输出file1中的内容,也就是base64编码后的flag.php中的内容。
1.使用条件为
allow_url_fopen
:on
allow_url_include
:on
2.用法
data://text/plain,
data://text/plain;base64,
3.示例
1)eg: http://127.0.0.1/include.php?file=data://text/plain,<?php%20phpinfo();?> #会向file中输入文本数据流<?php%20phpinfo();?>
2)eg:http://127.0.0.1/include.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b #会向file中输入base64解码后的PD9waHAgcGhwaW5mbygpOz8%2b
1.参数详解
php://filter 参数 | 描述 |
resource=<要过滤的数据流> | 必须项。它指定了你要筛选过滤的数据流。 |
read=<读链的过滤器> | 可选项。可以设定一个或多个过滤器名称,以管道符(*\*)分隔。 |
write=<写链的过滤器> | 可选项。可以设定一个或多个过滤器名称,以管道符(\)分隔。 |
<; 两个链的过滤器> | 任何没有以 read= 或 write= 作前缀的筛选器列表会视情况应用于读或写链。 |
2.示例
eg: http://127.0.0.1/include.php?file=php://filter/read=convert.base64-encode/resource=phpinfo.php #resource参数=phpinfo.php表示要过滤的数据流为phpinfo.php源文件,reade参数=convert.base64-encode表示要读取数据流,且使用了base64编码转换器(convert.base64-encode)
综上可知本题payload为 ?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=data://text/plain,hello%20ctf
最新文章
- MVC 本地运行可以发布到IIS 报Sorry, an error occurred while processing your request.解决方案
- 使用ADO.NET执行SQL脚本
- js资源加载优化
- Android成长日记-数据存储之SQLite[1]
- 如何调试R程序(转载)
- TCP/IP协议原理与应用笔记08:对等层和对等实体
- 用Visual Studio 2015 编写驱动之前一定要注意的问题!!!
- localStorage eval script
- freemarker数据类型
- CF558E
- js中实现截取数组的后几个元素作为一个新数组的方法
- jdk和jre区别
- leetcode-algorithms-23 Merge k Sorted Lists
- C# IEnumerator的使用
- WKWebView 里 JS 和 native 通信的例子
- [2017BUAA软工]第3次个人作业
- mydumper安装
- Python常用库之二:Pandas
- go——常量
- 剑指offer-第五章优化时间和空间效率(从1到n的整数中1出现的次数)
热门文章
- 依那西普治疗多关节型和系统型JRA的长期疗效[EULAR2007_SAT0397]
- Java第二讲动手动脑
- js 操作符 —— 位操作符详解
- js获取input处理
- mysql-8版本优化建议
- vue3中对于/deep/和::v-deep的警告信息处理
- Mysql习题系列(二):多表查询(一篇学会做Mysql多表查询题,超详细~)
- 【C学习笔记】day3-2 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
- Codeforces 919E Congruence Equation(循环节+数论)
- git常规操作