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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步