BUUCTF[极客大挑战 2019]Havefun 1题解

BUUCTF极客大挑战 2019Havefun 1题解

题目分析

生成靶机,进入网址:

首页几乎没有任何信息,公式化F12打开源码,发现一段被注释的源码:

下面我们对这段代码进行解析

php 复制代码
<!--
        $cat=$_GET['cat']; // 从URL获取cat参数
        echo $cat; // 回显参数值
        if($cat=='dog'){// 判断参数值是否为'dog'
            echo 'Syc{cat_cat_cat_cat}';// 输出flag
        }
        -->

这里我们要注意,这是一段后端代码。当然,从输出可以看出,这一定不是真实的后端代码,只是起到提示输出的作用

解题

理解代码逻辑:

后端期望通过GET方法的获取cat参数值,当cat参数值等于字符串"dog"时,会输出flag。

构造Payload:

访问URL:
http://题目地址/?cat=dog

这样$_GET'cat'的值就是"dog",最后的结果是:

flag{950e06b7-f7d0-4219-8824-a1b08051b52a}

总结

这道题是一道最基础的PHP代码审计题,当然,我们需要知道这段代码并非本题真正的后端代码,不要钻牛角尖。

相关推荐
曲幽2 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
带刺的坐椅4 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·springboot·web·solon
曲幽8 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
曲幽9 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
两个人的幸福9 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo12 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack12 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820712 天前
PHP 扩展——从入门到理解
php
鹏仔先生13 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下13 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php