PHPMailer安全吗?

时间:2015-02-24 19:36:40

标签: php phpmailer

我知道这可能不是一个简单的问题,但是我正在开发几个webforms,并且想要一个可以用来发送邮件并让它自动清理数据的PHP库。我看着PHPMailer看起来很简单。

PHPMailer是否是一个安全的库,用于防止我的表单受到SQL注入/电子邮件注入/ XSS等的影响?我认识到没有什么是100%安全的,但我正在寻找一个简单的脚本,而不必我清理数据。

2 个答案:

答案 0 :(得分:3)

PHPMailer不会创建/使用任何SQL本身,也不会与javascript有任何关系,所以它在这些方面是安全的。它经常与代码同时使用,但这并不是PHPMailer的关注。

它对头文件应用过滤以避免头部注入攻击,并且(据我所知!)正确构建头文件以便根据RFC进行转义和编码 - 通常PHPMailer支持严格的技术合规性。有一个与线路长度合规有关的未决问题。

如果使用默认设置运行PHP 5.6,它将验证安全连接上的SSL / TLS证书。早期的PHP版本默认不执行此操作,您可以在PHP 5.6中禁用它,但不建议使用它们。在早期的PHP版本中有一个与强制此设置有关的未解决的问题。

所有这一切都说,当然PHPMailer(像任何技术库一样)可以被滥用来发送各种令人讨厌的网络钓鱼,垃圾邮件和恶意软件,并且SMTP类可以用来试图混淆邮件服务器的地狱,尽管它将尽最大努力确保它在最大程度上尊重RFC。

答案 1 :(得分:0)

截至目前,针对5.2.18之前的版本的漏洞有一个强烈推荐的补丁 在此下载https://github.com/PHPMailer/PHPMailer

Hacker News(http://thehackernews.com/2016/12/phpmailer-security.html)的引用给出了一个简短的总结:

  

由法律的波兰安全研究员Dawid Golunski发现   黑客,关键漏洞(CVE-2016-10033)允许   攻击者在Web上下文中远程执行任意代码   服务器并破坏目标Web应用程序。

     

"要利用此漏洞,攻击者可以定位常见的网站组件   作为联系/反馈表,注册表,密码电子邮件重置   以及在易受攻击的版本的帮助下发送电子邮件的其他人   PHPMailer类," Golunski在出版的咨询中写道   今天。

技术细节将发布在此处:https://legalhackers.com/papers/Pwning-PHP-mail-func-For-Fun-And-RCE-New-Exploit-Techniques-Vectors.html