Loading

[极客大挑战 2019]Secret File

[极客大挑战 2019]Secret File

管他谁的秘密呢,开场就看源码,发现有一个跳转,但是使用css隐藏了,修改下就可以看出来。

image-20220505093154340

点击访问一下这个地址,然后又给出了另外一个转跳地址,继续访问

image-20220505093254223

访问一下发现,没有跳转到 action.php 上,而是直接跳到了 end.php ,所以用抓包,来详细瞧一瞧 这个 action.php 有啥东西。

image-20220505093556242

发现访问 action.php 的时候有 302 重定向到了 end.php,action.php 中给出了一个 secr3t.php 的地址。

image-20220505093909450

访问一下 secr3t.php 地址。

image-20220505093949366

出现了代码审计,提示说 flag 放在了 flag.php 中,这里源代码中 过滤了 …/、tp、input、data 关键字,但是没关系,可以用 filter

# 代码审计
<?php
    highlight_file(__FILE__);
    error_reporting(0);
    $file=$_GET['file'];
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag放在了flag.php里
?>

使用 php://filter/convert.base64-encode/resource=flag.phpflag.php 的内容全部经过 base64 编码后通过文件包含带出,最后解码(在线加密解密)就可以看到 flag.php 的源码了。

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

image-20220505094618580

image-20220505094824332

posted @ 2022-08-13 10:38  knsec  阅读(27)  评论(0编辑  收藏  举报