原创 · 2024年12月21日 0

[极客大挑战 2019] Havefun 题解

前言:题目来源BUUCTF

目录:

  1. 题目
  2. 解析

一、题目

靶机默认页面为一CSS动画如下:

页面上没有可互动内容

二、解析

首先按F12打开审查元素页面,尝试寻找线索,发现一段注释如下:

HTML
<!--
        $cat=$_GET['cat'];
        echo $cat;
        if($cat=='dog'){
            echo 'Syc{cat_cat_cat_cat}';
        }
-->

注释里是一段PHP代码。该代码(假如被执行)会使用GET请求,从URL参数中获取一个值,然后把它赋值给 $cat 。例如,如果请求的URL是 http://靶机网址.com?cat=dog,那么 $cat 的值就会是 dog 。而当 $cat 的值是 dog 时,该代码会输出一个字符串。

GET请求是一种HTTP请求方法,用于从服务器请求资源或数据。它是Web开发中最常用的一种请求方式,其参数通过URL传递,数据附加在URL的末尾,以键值对形式表示。在上面的例子中是?cat=dog,指“cat”这个键的值是“dog”。

这段代码显然是出题者的提示,虽然没有实际功能,但是提示了我们可以尝试给 $cat 赋值。现在我们点开浏览器地址栏,在URL中为 $cat 赋值为 dog :

http://靶机网址.com?cat=dog

敲下回车后,服务器发来了新的网页如下:

成功获得Flag。