• 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

  • 相关阅读:
    2019.04.19 坦克大战
    2019.04.18 异常和模块
    2019.04.17 面向对象编程篇207
    fork操作时的copy-on-write策略
    Redis阻塞原因
    Redis持久化-fork操作
    Redis持久化-AOF重写
    Redis持久化-aof
    Redis持久化
    Shopify给左右两边布局的banner图加链接,链接失败
  • 原文地址:https://www.cnblogs.com/0yst3r-2046/p/10740579.html
Copyright © 2020-2023  润新知