(CVE-2017-5223)PHPMailer _= 5.2.21 任意文件读取漏洞.md
1.35 KB / 2021-04-21 09:23:46
(CVE-2017-5223)PHPMailer \<= 5.2.21 任意文件读取漏洞
======================================================
一、漏洞简介
------------
PHPMailer在发送邮件的过程中,会在邮件内容中寻找图片标签(`),并将其src属性的值提取出来作为附件。所以,如果我们能控制部分邮件内容,可以利用`将文件`/etc/passwd`作为附件读取出来,造成任意文件读取漏洞。
二、漏洞影响
------------
PHPMailer \<= 5.2.21
三、复现过程
------------
"意见反馈"页面,正常用户填写昵称、邮箱、意见提交,这些信息将被后端储存,同时后端会发送一封邮件提示用户意见填写完成:
![1.png](./resource/(CVE-2017-5223)PHPMailer<=5.2.21任意文件读取漏洞/media/rId24.png)
> 该场景在实战中很常见,比如用户注册网站成功后,通常会收到一封包含自己昵称的通知邮件,那么,我们在昵称中插入恶意代码\`\`,目标服务器上的文件将以附件的形式被读取出来。
同样,我们填写恶意代码在"意见"的位置:
![2.png](./resource/(CVE-2017-5223)PHPMailer<=5.2.21任意文件读取漏洞/media/rId25.png)
收到邮件,其中包含附件`/etc/passwd`和`/etc/hosts`:
![3.png](./resource/(CVE-2017-5223)PHPMailer<=5.2.21任意文件读取漏洞/media/rId26.png)
下载读取即可。