[极客大挑战 2019]Havefun 1

作者分享了解决IT安全挑战的经验,指出在靶机题目中,旗标通常隐藏在页面源码的注释中,通过检查if判断语句找到可能的flag并成功获取。

本人也是刚接触这些题目,只是自己拿来做做笔记,写的不好还请指导

本题一进入靶机就是一直猫的页面
在这里插入图片描述
查看页面源码,这类题目的flag一般都在源码的注释中
在这里插入图片描述
发现源码中的注释中有一个if判断cat是否等于dog,猜测这个就可能是flag,添加在url之后尝试
在这里插入图片描述
成功获得flag

### 解析极客挑战 2019 中的 Havefun 1 题目 极客挑战 2019Havefun 1 是一道 Web 安全相关的题目,主要考察了对网页源代码的分析能力和对 GET 参数传递的理解。题目的核心在于找到隐藏的逻辑漏洞,通过传递特定参数来获取 Flag。 #### 题目背景 在启动靶机后,访问题目链接,页面显示一只猫,但没有其他明显的提示或按钮。这种情况下,常规的交互方式无法获得有效信息,需要通过查看网页源代码或后台扫描来寻找线索。题目中通过注释隐藏了一段 PHP 代码,这段代码是解题的关键[^3]。 #### 源代码分析 在网页源代码的注释中,可以找到以下代码片段: ```php $cat = $_GET['cat']; // 从 URL 获取 cat 参数 echo $cat; // 回显参数值 if ($cat == 'dog') { // 判断参数值是否为 'dog' echo 'Syc{cat_cat_cat_cat}'; // 输出 Flag } ``` 这段代码的逻辑非常简单,它从 URL 中获取 `cat` 参数并将其值回显到页面上。如果 `cat` 的值等于字符串 `'dog'`,则会输出 Flag `Syc{cat_cat_cat_cat}`。因此,解题的关键在于如何构造请求,使 `cat` 参数的值为 `'dog'`。 #### 解题思路 根据题目逻辑,只需要在 URL 中传递 `cat=dog` 即可满足条件,进入 `if` 分支并输出 Flag。构造的 URL 如下: ``` http://55670c23-4253-47c2-9dae-74b87b15cc0c.node4.buuoj.cn:81/?cat=dog ``` 访问该链接后,页面会回显 `dog`,并且由于条件判断成立,还会输出 Flag `Syc{cat_cat_cat_cat}`[^1]。 #### 拓展知识 类似的问题在 CTF 比赛中较为常见,通常涉及对参数传递的深入理解。例如,万能密码的概念在 SQL 注入等题目中也经常出现,常用的万能密码包括: ``` "or "a"="a ')or('a'='a or 1=1-- 'or 1=1-- a'or' 1=1-- "or 1=1-- 'or'a'='a "or"="a'='a 'or''=' 1'or'='or' 1 or '1'='1'=1 1 or '1'='1' or 1=1 'OR 1=1%00 ``` 这些万能密码的原理是通过构造特定的输入,绕过逻辑判断或 SQL 查询条件,从而达到获取敏感信息或绕过认证的目的。虽然 Havefun 1 并不涉及 SQL 注入,但这些技巧在类似的 CTF 题目中非常有用[^2]。 #### 总结 极客挑战 2019Havefun 1 是一道简单的 Web 题目,核心在于通过查看网页源代码发现隐藏的逻辑,并构造正确的 GET 请求参数来获取 Flag。这类题目强调了对代码逻辑的理解以及对隐藏信息的挖掘能力。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值