[SWPUCTF 2022 新生赛]ez_ez_php

[SWPUCTF 2022 新生赛]ez_ez_php wp

题目代码如下:

复制代码
 <?php
error_reporting(0);
if (isset($_GET['file'])) {
    if ( substr($_GET["file"], 0, 3) === "php" ) {
        echo "Nice!!!";
        include($_GET["file"]);
    } 

    else {
        echo "Hacker!!";
    }
}else {
    highlight_file(__FILE__);
}
//flag.php

根据代码,GET 传入的参数要以 php 开头,并且提示有一个 flag.php 文件。那就直接用 php 伪协议。

php://filter 伪协议

payload

复制代码
file=php://filter/read=convert.base64-encode/resource=flag.php

返回结果:

base64 解码后得到 flag.php 文件内容:

这里有些乱码,但可以看得出来提示:真正的 flag 在名为 'flag' 的文件里面。

那就用伪协议再读一次:

拿到 flag 。

相关推荐
漏洞谷2 天前
白帽子为什么几乎都绕不开 httpx:一款 HTTP 资产探测工具的技术价值
web安全·漏洞挖掘·安全工具
ServBay2 天前
告别面条代码,PSL 5.0 重构 PHP 性能与安全天花板
后端·php
JaguarJack4 天前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo4 天前
FrankenPHP 原生支持 Windows 了
后端·php
JaguarJack5 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo5 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack6 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay7 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954487 天前
CTF 伪协议
php
BingoGo9 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php