BUUCTF-[ACTF2020 新生赛]Include1

本题主要考查的是php伪协议进行文件包含

进入本题之前先来认识一下常见的三种方法

1.php://filter 读取文件源码

2.php://input 任意代码执行

3.data://text/plain 任意代码执行

下面我们回到本题

 打开链接,点击tips

BUUCTF-[ACTF2020 新生赛]Include1_第1张图片

 首先考虑使用php://input 任意代码执行

BUUCTF-[ACTF2020 新生赛]Include1_第2张图片

发现直接被题目过滤了

于是我们考虑使用php://filter 读取文件源码的方法

构造playload

?file=php://filter/read=convert.base64-encode/resource=flag.php

 这里需要注意的是,php://filter伪协议进行文件包含时,加上read=convert.base64-encode对文件内容进行编码。也就是把文件里的源码用base64编译一遍

BUUCTF-[ACTF2020 新生赛]Include1_第3张图片

 复制文本解码

 BUUCTF-[ACTF2020 新生赛]Include1_第4张图片

 得到flag

flag{54577462-6fb9-4d3c-b6e1-dbf6beef143f}

你可能感兴趣的:(php,经验分享)