bugku——变量1

先启动环境

 得到一串php代码

 

这段代码是一个简单的PHP文件,它包含了一个变量$args和一个eval函数。

首先,它通过include "flag1.php";引入了一个名为flag1.php的文件。该文件的内容可能是一个标志或敏感信息。

然后,highlight_file(__file__);函数会将当前文件的源代码以HTML的形式显示在页面上,这可能是为了方便调试或学习。

接下来,该代码段会检查是否有名为args的GET参数传递给该PHP文件。如果有,它会将参数的值赋给变量$args。

然后,它使用正则表达式preg_match("/^\w+$/",$args)来检查$args的值是否只包含字母、数字和下划线,并且是一个以字母或下划线开头的字符串。如果不是满足这些条件,代码会输出"args error!"并终止执行。

最后,如果前面检查通过,代码会执行eval("var_dump($$args);");,它会将$args作为变量名,将$$args的值输出到页面上。这里使用了$$args的方式可以间接引用到flag1.php文件中的内容,如果$args的值为"flag1",那么var_dump($$args);的执行将输出flag1.php文件中的内容。

注意,使用eval函数存在安全风险,可以导致代码注入漏洞,因此在实际应用中应尽量避免使用eval函数并严格过滤用户输入。

 我构造了args=GLOBALS

因为glopals包含了所有的条件

 回车得到flag

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值