首页 » 网站建设 » php引用长途css技巧_PHPMailer远程敕令实行马脚分析

php引用长途css技巧_PHPMailer远程敕令实行马脚分析

访客 2024-12-11 0

扫一扫用手机浏览

文章目录 [+]

0x00 漏洞概要

PHPMailer是一个用于发送电子邮件的函数包,虽然php本身供应了邮件发送函数mail,可以在程序中直接发送电子邮件,不过该函数哀求做事器支持sendmail或者必须设置一台不须要中继器的邮件发送做事器,利用起来及其繁琐。

php引用长途css技巧_PHPMailer远程敕令实行马脚分析

0x01 漏洞剖析

php引用长途css技巧_PHPMailer远程敕令实行马脚分析
(图片来自网络侵删)

我们来看一下phpmailer在程序中是如何处理的:

首先,须要有一个吸收输入的参数,这里可以是订阅、回答等:

这里吸收了一个邮箱订阅的参数,我们来跟踪下看phpmailer在后端是如何处理的:

接下来phpmailer会调用html2text来进行处理,干系代码如下:

我们可以看到在发送前交给了html2text来处理,然后phpmailer进行发送,我们再去跟踪html2text这里,看看他是如何处理的:

可以看出来preg_replace利用了e参数,通过正则处理完的内容再发送出去。

通过以上代码我们重新再理一遍,email在拼接用户输入的字符串,只管利用了mysql_real_escape_string,但是并不能证明这是安全的。
然后进入了html2text的preg_replace,然后正则刚好带有/e的表现,从而导致了代码实行。

我们再去看官网供应最新版本看一下,通过github上,我们通过看changelog看到:

phpmailer由于兼容问题不再供应了html2text,须要用户自己写。
事实上很多开拓者仍旧还在利用之前官网供应的html2text,我们搜索下干系CMS:

创造有很多仍旧在利用。
当然,本色上不仅仅影响phpmailer了,凡是利用了html2text都将会存在远程命令实行漏洞的可能性。

0x02 干系案例

邮箱订阅处,利用Burp Suite的中继器,修正email参数的内容:

成功实行了命令,只管过滤了敏感的字符,但是通过ASCII码仍旧可以进行绕过,比如反弹shell。

由于漏洞利用大略,攻击本钱低,影响范围广,青藤云安全建议广大站长及厂商立即修复此漏洞。

0x03 修复方案

1.利用青藤云安全产品可以全面检测该漏洞。

2.修正html2text中的正则表达式,取消/e参数。

更多信息请关注微信"大众号:qingtengyun

相关文章