PHPMailer 代码执行漏洞(CVE-2016-10033)分析(含通用POC)

作者: 分类: 网络安全 时间: 2016-12-27 17:46 评论: 0条评论 浏览: 3253人看过 标签: mail CVE-2016-10033

对比一下新老版本: https://github.com/PHPMailer/PHPMailer/compare/v5.2.17...master

14827395246777.jpg

其实答案呼之欲出了——和Roundcube的RCE类似,mail函数的第五个参数,传命令参数的地方没有进行转义。

回顾一下当时Roundcube的漏洞:因为mail函数最终是调用的系统的sendmail进行邮件发送,而sendmail支持-X参数,通过这个参数可以将日志写入指定文件。可以写文件,当然就可以写shell,造成RCE了。

详细分析一下,下载一份源码,并切换到5.2.17版本:

git clone https://github.com/PHPMailer/PHPMailer
cd PHPMailer
git checkout -b CVE-2016-10033 v5.2.17 

单步调试可以发现确实和之前Roundcube出现的漏洞( http://wiki.ioin.in/search?word=roundcube )一样,是传给mail函数的第五个参数没有正确过滤:

14827421313172.jpg

但上图是错的...

阅读全文>>

Top ↑ sitemap More