[ACTF2020 新生赛]Include

一,解析

题目是include,文件包含

点击tips后就显示你发现了flag没,那么这个过程肯定产生了flag,

看url发现它访问了flag.php文件,想办法把flag读取出来

这里我们要用到PHP伪协议

本题要用到的伪协议是php://filter

官方文档的解释:

php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。

php://filter/read=convert.base64-encode/resource=[文件名]

read=<读链的筛选列表>    可以设定一个或多个过滤器名称,以管道符(|)分隔

convert.base64-encode     将读取的内容进行base64加密

resource=<要过滤的数据流>    指定了要筛选过滤的数据流

[文件名]    本题要读取的文件是flag.php

放进去拿到经过了base64编码的flag

PD9waHAKZWNobyAiQ2FuIHlvdSBmaW5kIG91dCB0aGUgZmxhZz8iOwovL2ZsYWd7MmMxNmE3ZGEtYTI2ZC00NzljLTk0ZGQtNmIxODE0NWFlMWVlfQo=

解码得到flag,没有工具也可以在线解码,浏览器搜base64在线解码

二、相关扩展

常见的几个伪协议如下:

file://访问本地文件系统
http:// 访问 HTTP(s) 网址
php:// 访问各个输入/输出流
phar:// PHP 归档
zip:// 压缩流

参数

一些过滤器用法的官方链接

字符串过滤器

PHP: 字符串过滤器 - Manual

转换过滤器(convert.*)

PHP: 转换过滤器 - Manual

压缩过滤器

PHP: 压缩过滤器 - Manual

加密过滤器

PHP: 加密过滤器 - Manual

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值