需要注意的几个PHP漏洞小结_php教程-查字典教程网
需要注意的几个PHP漏洞小结
需要注意的几个PHP漏洞小结
发布时间:2016-12-29 来源:查字典编辑
摘要:需要注意的几个PHP漏洞几个重要的php.ini选项RegisterGlobalsphp>=4.2.0,php.ini的register_g...

需要注意的几个PHP漏洞

几个重要的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教程学习
    热门php教程学习
    编程开发子分类