安全研究

安全漏洞
PHPXmail口令认证绕过漏洞

发布日期:2005-07-07
更新日期:2005-07-07

受影响系统:
PHPXmail PHPXmail 1.1
PHPXmail PHPXmail 0.7
描述:
BUGTRAQ  ID: 14175

PHPXmail是基于Web的Xmail邮件服务器管理软件,用PHP语言编写。

PHPXmail对用户认证数据的处理上存在问题,远程攻击者可能利用此漏洞绕过访问认证。

如果尝试以用户名和错误口令登录的话,服务器会用类似于以下的消息响应:-00024 invalid password

从下面的代码中可见函数检查第一个字符是否为“-”,如果是的话函数就返回false并退出。

代码:class.xmail.php
if ($ret[0] == '-') { // not logged in
                           $this->xm_err_msg = $ret; // get error msg
                           return FALSE;
                           echo "$ret";
                           die;
                           exit;
                   }

如果以超长口令登录的话就无法从服务器得到响应消息,函数也不会退出。这时再以类似于postmaster@localhost和超长口令登录就可以绕过错误处理程序,成功登录。

代码: from login.inc

      default:
      $mail_server->xm_ctrl_p = xmdecrypt($servers["$form_server"][3]);
      $logged_in = $mail_server->userauth($mail_server->xm_user_d,
$mail_server->xm_user_u, $mail_server->xm_user_p);
      break;                              /* here we try to log in */

      if ($logged_in != "The operation completed successfully.")
      $_SESSION['mail_server'] = $mail_server;
      $_SESSION['logged_in'] = $logged_in;            /* take a look at the
session vars */

<*来源:Stefan Lochbihler (steve01@chello.at
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112067694016410&w=2
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 在口令输入字段中加入maxsize标签。

厂商补丁:

PHPXmail
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://phpxmail.sourceforge.net/

浏览次数:2789
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障