IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP超全局变量和可变变量 -> 正文阅读

[PHP知识库]PHP超全局变量和可变变量

PHP超全局变量

在php中预定义了九大超级全局变量,它们在一个脚本的全部作用域中都可用。这意味着我们不用进行特殊的说明,就可以在函数及类中使用。

  • $GLOBALS : 一个包含了全部变量的全局组合数组。变量的名字就是数组的键
  • $_SERVER : 一个包含了头信息、路径、脚本位置等信息的数组
  • $_GET : 用于收集提交 HTML 表单,传参方式为 get 的表单数据
  • $_POST : 同样收集提交 HTML 表单,但是传参方式为 post
  • $_REQUEST : 具有 get 和 post 二者的功能。
  • $_FILES : 用于文件的接收处理
  • $_COOKIE : 用于获取与setCookie()中的name 值
  • $_SESSION : 用于存储有关用户会话的信息,或更改用户会话的设置
  • $_ENV : 是一个包含服务器端环境变量的数组,可以在PHP 程序的任何地方直接访问它

PHP可变变量

所谓可变变量就是一个变量以另外一个变量的值作为变量名

可变变量是php中的一个特殊变量,在其他语言中也是十分少见。鄙人也是第一次见到这种类型的变量,还是太菜了 /(ㄒoㄒ)/~~

使用下面的代码来可能会更清楚

例子
可以看到 $$b 输出的结果为 123,从而能够解释变量a以变量b的值作为变量名

CTF

了解超全局变量和可变变量之后,再来看一道php代码审计的CTF

题目:

<?php  

error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
    $args = $_GET['args'];
    if(!preg_match("/^\w+$/",$args)){
        die("args error!");
    }
    eval("var_dump($$args);");
}
?> 

首先正则表达式匹配都是字母的字符串,之后使用eval()执行输出可变变量args的命令
所以我们就要给 $$args 赋值一个变量名,那么就要用到PHP的九大超全局变量

poc
将args赋值为$GLOBALS超全局变量,就会输出包含全部变量的数组,从而出现flag

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 17:30:07  更:2021-12-01 17:31:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:28:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码