攻防世界-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
攻防世界-fileclude的更多相关文章
- CTF--web 攻防世界web题 robots  backup
		
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...
 - CTF--web 攻防世界web题 get_post
		
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...
 - 攻防世界 web进阶练习 NewsCenter
		
攻防世界 web进阶练习 NewsCenter 题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...
 - 【攻防世界】高手进阶 pwn200 WP
		
题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int ...
 - XCTF攻防世界Web之WriteUp
		
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
 - 攻防世界 | CAT
		
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...
 - 攻防世界 robots题
		
来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在, ...
 - 【攻防世界】 高手进阶区 Recho WP
		
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod ...
 - CTF -攻防世界-crypto新手区(5~11)
		
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间 明明没算错 ...
 - 攻防世界web新手区做题记录
		
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在 ...
 
随机推荐
- location.search
			
问号 ? 之后的部分 location.search
 - Net Core 网关 Ocelot 简单案例
			
1.什么是Ocelot Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabr ...
 - pat乙级1023 组个最小数
			
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> ...
 - PHP实现QQ第三方登录代码
			
前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录写到了一个方法页面[因为有了if做判断], 方法二,三:面向对象 1.先调用登录方法,向腾讯发送请求,2.腾讯携 ...
 - Redis入门级简单安装使用
			
最近突然就想学一下Redis,于是就各种找教程,前两天实际操作了一下,也不是想象中的很难 但是今天想写一个使用Redis的demo,突然就不会使用Redis了,在网上也是查找了半天,还是想起来了点 ...
 - Minio服务器搭建
			
记录Minio服务器搭建过程 参考 1.下载minio 从地址https://min.io/download#/windows 下载minio server和minio client. 2.将两个ex ...
 - class和struct区别
			
类(class) 引用类型:将一个对象赋值给另一个对象时,系统不会对此对象进行拷贝,而会将指向这个对象的指针赋值给另一个对象,当修改其中一个对象的值时,另一个对象的值会随之改变. 结构体(struct ...
 - 20200420关于mysql突然停止服务的记录
			
期待评论ing... 前天开发商城项目的时候,没注意d盘满了,后来5.5的mysql就突然无法启动,而且提示2003错误,在cmd中启动也是没有任何报错信息. 然后就找5.5原因,在windows的, ...
 - 四、流程控制、break、continue、return
			
一. 程序流程控制概述 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 流程控制方式采用结构化程序设计中规定的只有三种基本流程结构,即:1.顺序结构程序 ...
 - netmiko批量操作华为设备
			
from concurrent.futures import ThreadPoolExecutorimport timeimport netmikoimport osfrom threading im ...