随笔 - 51  文章 - 0  评论 - 4  阅读 - 19287

CTFer成长记录——CTF之Web专题·bugku-变量1

一、题目链接

ctf.bugku.com/challenges/detail/id/76.html

二、解法步骤

  打开网站:提示flag藏在变量中:

  preg_match()后接的正则表达式:^开始, \w表示任意一个单词字符,即[a-zA-Z0-9_] ,+将前面的字符匹配一次或多次,$/结尾。

  这里需要注意到$$args这个用法,如果说$args="hello"$hello="world",那么echo $$args结果是world,相当于打印一次$args,然后将它的值作为一个变量再次打印。

  于是我们需要传入args的值,让它能够存在于题目已有的php文件中的一个变量。一开始就在php文件中的变量有:全局变量、超全局变量。超全局变量有:$GLOBALS,$_SERVER,$_REQUEST,$_POST,$_GET,$_FILES,$_ENV,$_COOKIE,$_SESSION。那么GLOBALS这种全局变量用于在 PHP 脚本中的任意位置访问全局变量,PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。(from W3SCHOOL)

最后我们使args = GLOBALS,查看题目文件的全局变量:

  

  找到flag

三、总结

  本题考察可变变量$$和全局变量,是一个知识点类型的题目。

posted on   MiracleWolf  阅读(176)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示