zoukankan      html  css  js  c++  java
  • 变量1

    题目http://123.206.87.240:8004/index1.php

     1 flag In the variable ! <?php  
     2  
     3  
     4 error_reporting(0);           // 关闭php错误显示
     5 include "flag1.php";          // 引入flag1.php文件代码
     6 highlight_file(__file__);
     7 if(isset($_GET['args'])){     // 通过get方式传递 args变量才能执行if里面的代码
     8     $args = $_GET['args'];
     9     if(!preg_match("/^w+$/",$args)){
    10     // 这个正则表达式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小写字母和0到9以及下划线组成
    11         die("args error!");
    12     }
    13     eval("var_dump($$args);");  // 这边告诉我们这题是代码审计的题目
    14 }
    15 ?>

     参考 https://blog.csdn.net/qq_38603541/article/details/85106740

    知识点

    preg_match()

    执行一个正则表达式匹配

    $GLOBALS


    超级全局变量
    全局变量可以通过变量名在$GLOBALS找到相对应的值。

    die()


    输出一条消息,并退出当前脚本

    error_reporting(0);

    关闭报错
    屏蔽掉所有运行时刻的错误检查

    error_reporting(-1);
    表示显示所有PHP错误报告

    eval()

    把字符串当成 PHP 代码来计算

  • 相关阅读:
    node03
    node02
    node01
    Vue-router重修02
    Vue-router重修01
    Vue重修02
    VUE重修01
    利用表达式目录树进行实体映射
    C#托管堆和垃圾回收
    C# 异步锁
  • 原文地址:https://www.cnblogs.com/unixcs/p/10600630.html
Copyright © 2011-2022 走看看