2023-11-12 15:29阅读: 33评论: 0推荐: 0

Web_BUUCTF_WriteUp | Havefun

题目

分析

用鼠标划了半天,好像不能撸(

F12 打开控制台,在查看器里看到一条 PHP 注释

$cat=$_GET['cat'];
echo $cat;
if($cat=='dog'){
echo 'Syc{cat_cat_cat_cat}';
}

分析一下注释:
$cat=$_GET['cat'];:变量 cat 获得变量 _GET 收集的来自 method="get" 的表单中的值。
echo $cat;:打印变量 cat。
if($cat=='dog'){ }:如果变量 cat 恒等于字符串 dog
echo 'Syc{cat_cat_cat_cat}';“:打印字符串 Syc{cat_cat_cat_cat}

因为数据通过 GET 表单传递,我们可以直接在 URL 中进行操作。当变量 cat 的值为 dog 时,打印的 Syc{cat_cat_cat_cat} 和 flag 的形式很像。

尝试了提交 flag{cat_cat_cat_cat} 发现不是答案,那就先赋值试试。
将 URL 改为 http://1bb256d6-4fab-4356-9aaa-cd8742e963d9.node4.buuoj.cn:81/?cat=dog ,其中 ? 用于分隔实际的 URL 和参数,提交得到 flag(啊?)

Flag

flag{8940e548-232a-42ba-be69-081355f2df3a}

参考

PHP 变量-菜鸟教程
PHP 5 echo 和 print 语句-菜鸟教程
HTTP 方法:GET 对比 POST-菜鸟教程
URL中的特殊字符 + % # & = ? /-拾破烂的-博客园

如有错误 欢迎指正 (●'◡'●)

本文作者:Guanz

本文链接:https://www.cnblogs.com/Guanz/p/17827262.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Guanz  阅读(33)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起