[极客大挑战 2019]Secret File

[极客大挑战 2019]Secret File

【文件包含】

打开题目看见只是一个简单的页面,也没有什么信息,F12 先查看一下源码,发现有提示文件。

在这里插入图片描述

跟随文件打开新的页面,有一个按钮,点击后跳转,F12 查看 源代码 或 NetWork 可以发现,按钮所指向的文件是 action.php ,而页面展示的是 end.php ,并且 action.php HTTP 请求头里可以看出是 302 重定向。

根据页面提示以及分析容易判断中间肯定是有文件的。

在这里插入图片描述

BurpSuite抓包,repeater 发送,发现新的提示文件,再次用浏览器打开。

在这里插入图片描述

打开后看到 php 代码,进行简单的分析:

    highlight_file(__FILE__);
    error_reporting(0);
    $file=$_GET['file'];
    // 传入参数中过滤掉 ../ tp input data
    // strstr — 查找字符串的首次出现(区分大小写)
    // stristr — 查找字符串的首次出现(不区分大小写)
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag放在了flag.php里

于是尝试传入参数 ?file=flag.php,出现新的页面,提示到 “flag 就在下面但是看不到” ,先猜测背景色覆盖,尝试将背景色改为透明但并没有什么效果。

在这里插入图片描述

既然前端页面无 flag 但他说就在这!?那么应该就在 php 源码里,尝试用 php 伪协议获取源码。

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

得到 base64 编码的数据,解码得到 flag。

在这里插入图片描述
在这里插入图片描述

注: PHP为协议还有很多……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值