@360安全应急响应中心 科普:代码执行漏洞

技术 作者:站内编辑 2014-09-16 04:53:37 阅读:194
一、漏洞描述 代码执行漏洞(Code Execution):系统提供代码执行类函数主要方便处理各类数据。而当不合理的使用这类函数,同时调用的变量未考虑安全因素,就会执行恶意的PHP代码,被攻击利用。   二、形成原因 PHP程序里面包含如下能够执行代码的函数:eval()、assert()、preg_repace()、create_function()等,且没有对用户输入的参数作过滤。 三、危害性 可能导致攻击者在服务器端任意执行代码,进而控制整个web服务器。 四、攻击案例 1、eval() 函数 本函式可将参数中的变量值执行,通常用在处理数据库的数据上,但也常常被攻击者利用。比如常见的一句话后门程序: 2、assert() 函数 assert是验证assert后面的括号里的表达式是否为真的函数。 assert.php?c=phpinfo()   3、preg_repace() 函数 当第一个参数的正则表达式有e修正符的时候,第二个参数的字符串当做PHP代码执行。如:Preg_replace.php?h=phpinfo() <? echo preg_replace("/test/e",$h,"jutst test"); ?> 那么该页面就会执行 phpinfo() 函数。 4、create_function() 函数 PHP不正确过滤传递给'create_function()'的输入,远程攻击者可以利用漏洞以特权应用程序权限执行任意代码。 function.php?code=phpinfo();   另外,该函数存在漏洞,可不需要建立一个lambda形式函数来直接执行PHP代码,这在不能调用函数但能建立函数的情况下非常有用。如下代码所示: function.php?code=;}phpinfo();/*   phpinfo会在没有调用函数的情况下执行。   五、防御方法 1、始终对变量初始化。 2、使用此类函数时,严格检查输入的参数值。 3、避免使用此类函数。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

选择AiDeep,让人工智能为你工作:http://www.aideep.com/
四季很好,只要有你,文娱排行榜:http://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接