php漏洞几十个,需要注意的几个PHP漏洞

本文探讨了PHP的几个重要安全漏洞,如Register Globals和eval注入,并提供了示例说明其风险。当`register_globals`开启时,攻击者可以通过直接设置HTTP参数来绕过权限检查。另外,`eval`函数的滥用可能导致代码执行漏洞。了解并防范这些漏洞对于保障PHP应用的安全至关重要。
摘要由CSDN通过智能技术生成

需要注意的几个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 "

“;

}

?>

f71bc633a4aa00b662a409fe5bde7499.png?

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

//ex2.php

$var = “var”;

if (isset($_GET[“arg”]))

{

$arg = $_GET[“arg”];

eval(“$var = $arg;”);

echo “$var =”.$var;

}

?>

a7cd4cd6c3ebe02d1b02606da6221e94.png

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: 需要注意的几个PHP漏洞 http://www.chhua.com/web-note1730

随机笔记

更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值