PHP代码注入
原理及成因
是指应用程序(web方面)过滤不严格,用户可以通过请求将代码注入到应用中执行。代码注入类似于SQL注入漏洞,SQLi是将SQL语句注入到数据库中,而代码执行则是可以把代码注入到应用中最终由服务器运行它。这样的漏洞如果没有特殊的过滤,相当于直接由一个web后门的存在。
漏洞危害
代码执行漏洞可以继承web用户权限,执行任意代码。如果服务器没有正确配置,web用户权限比较高,则可以读写目标服务器任意文件内容,甚至控制整个网站以及服务器。PHP中有很多函数和语句都会造成PHP代码执行漏洞。
相关函数与语句
eval():会将字符串当作代码来执行。
<?php @eval($_REQUEST["code"])?>
提交变量:
?code=phpinfo();
?code=${phpinfo()};
?code=1;phpinfo();
变量测试:
<?php
$a = 'hello';
echo $a;
echo " </br>";
echo "variable a is