ACTF2020 新生赛 Include 1(phpfilter伪协议)
本文最后更新于 8 天前,其中的信息可能已经有所发展或是发生改变。

题目

做法

启动靶机,点进去

点进去
查看URL,有

?file=flag.php

说明存在文件包含,原理是php://filter 协议

当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容当普通文本返回(不执行PHP代码),这样就能拿到文件源码 ,实现任意文件读取。(这也是后面解释为什么要加base64编码的原因)

就是正常包含PHP文件执行时,代码会被执行,我们就看不到我们想要的东西 而通过php://filter,我们就可以把代码当做文本返回,而不是被执行,这样我们就可以得到我们想要的东西了

至此,我们就可以构造payload

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

解释: 1.**`php://filter

  • PHP 内置的数据流过滤器协议,允许在文件读写时对内容进行转换。
  1. read=convert.base64-encode
    • 过滤器参数:将读取的文件内容进行 Base64 编码后返回。
  2. resource=flag.php
    • 目标文件:指定要读取的文件路径(这里是flag.php)。

`php://filter是格式 read 这里是可选参数,有read和write,字面意思就是读和写,如果不写,那么网页会自动匹配一个合适的read或write: convert.base64-encode 是过滤器。主要有四种:字符串过滤器,转换过滤器,压缩过滤器,加密过滤器。filter里可以用一或多个过滤器(中间用|隔开),这也为解题提供了多种方法,灵活运用过滤器是解题的关键。这里的过滤器是把文件flag.php里的代码转换(convert)为base64编码(encode) resource** 是必选参数,后面写你要处理的文件名

URL修改后得出结果

复制下来,去解码,这里推荐一个(信息源于互联网,风险自担) Base64 编码/解码 – 锤子在线工具

得出结果,复制去提交即可

感谢阅读!如果你觉得这篇文章对你有帮助,欢迎扫码赞赏支持,你的鼓励是我持续创作的动力 ❤️

本文为原创内容,转载请注明出处。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇