php.ini选项   Register Globals   php>=4.">

PHP漏洞详细解析

2018-09-29 03:55:56来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

  下面是小编整理出的一篇关于PHP漏洞详细解析,感兴趣的朋友跟小编一起来了解一下吧!

  需要注意的几个PHP漏洞

  几个重要的php.html" target="_blank">php.ini选项

  Register Globals

  php>=4.2.0,php.ini的register_globals选项的默认值预设为Off,当register_globals的设定为On时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于PHP不必事先初始化变量的值,从而导致很大的安全隐患.

  例1:

  复制代码 代码如下:

  //check_admin()用于检查当前用户权限,如果是admin设置$is_admin变量为true,然后下面判断此变量是否为true,然后执行管理的一些操作

  //ex1.php

  if (check_admin())

  {

  $is_admin = true;

  }

  if ($is_admin)

  {

  do_something();

  }

  ?>

  这一段代码没有将$is_admin事先初始化为Flase,如果register_globals为On,那么我们直接提交 http://www.sectop.com/ex1.php?is_admin=true,就可以绕过check_admin()的验证

  例2:

  复制代码 代码如下:

  //ex2.php

  if (isset($_SESSION["username"]))

  {

  do_something();

  }

  else

  {

  echo "您尚未登录!";

  }

  ?>

  复制代码 代码如下:

  //ex1.php

  $dir = $_GET["dir"];

  if (isset($dir))

  {

  echo "";

  system("ls -al ".$dir);

  echo "";

  }

  ?>

  mixed eval(string code_str) //eval注入一般发生在攻击者能控制输入的字符串的时候

  //ex2.php

  复制代码 代码如下:

  $var = "var";

  if (isset($_GET["arg"]))

  {

  $arg = $_GET["arg"];

  eval("$var = $arg;");

  echo "$var =".$var;

  }

  ?>

  以上就是PHP漏洞详细解析,想必都了解了吧,更多相关内容请继续关注爱站技术频道。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:BugFree设置邮箱通知(这里以163邮箱为例)

下一篇:JSON在PHP中的基本应用