跳转至

(CVE-2020-12720)vBulletin 未授权sql注入漏洞

一、漏洞简介

未经授权的用户可以通过SQL注入获取敏感数据

二、漏洞影响

vBulletin 5.5.6pl1之前版本

vBulletin 5.6.0pl1之前的5.6.0版本

vBulletin 5.6.1pl1之前的5.6.1版本

三、复现过程

漏洞分析

漏洞文件:/core/vb/library/content.php

下载.png

跟进fillContentTableData方法,直接调用了getRow方法

下载 1.png

此处getRow方法传入的第一个参数为'vBForum:getContentTablesData',全局搜索getContentTablesData方法

下载 2.png

nodeid被设置为常量TYPE_NOCLEAN的值,该值为0。

跟进cleanArray方法

下载 3.png

变量vartype经过数组处理后即为TYPE_NOCLEAN,随后调用doClean方法进行数据清洗

下载 4.png

doClean方法会根据传入的type数值进入到不同的分支进行处理,因为变量vartype为0直接进入到TYPE_NOCLEAN的分支,从而不做清洗处理。

再回到/core/packages/vbforum/db/mysql/querydefs.php文件中,发现后续并没有再对nodeid键值进行处理,直接拼接到SQL语句中,造成了SQL注入漏洞。

下载 5.png

至于如何利用,就不赘述了,向上追溯调用链即可。

漏洞复现

1.png

打个断点就能快速定位漏洞点

2.png

参考链接

https://mp.weixin.qq.com/s/U-MiFkBiY6fF44xfwAV-Ng