背景
近期,安恒Zionlab团队通过监控发现vBulletin官网于2020年05月07日发布了最新5.6.1版本安全补丁。产品更新说明提示修复一处安全漏洞,经过补丁对比发现官方疑似修复一处前台SQL注入漏洞。
漏洞危害
未经授权的用户可以通过SQL注入获取敏感数据
影响范围
vBulletin 5.5.6pl1之前版本
vBulletin 5.6.0pl1之前的5.6.0版本
vBulletin 5.6.1pl1之前的5.6.1版本
vBulletin表示,“如果你正在使用 5.5.2 之前的 vBuletin 5 版本,则应尽快更新。”
技术分析
漏洞文件:/core/vb/library/content.php
跟进fillContentTableData方法,直接调用了getRow方法
此处getRow方法传入的第一个参数为'vBForum:getContentTablesData',全局搜索getContentTablesData方法
nodeid被设置为常量TYPE_NOCLEAN的值,该值为0。
跟进cleanArray方法
变量vartype经过数组处理后即为TYPE_NOCLEAN,随后调用doClean方法进行数据清洗
doClean方法会根据传入的type数值进入到不同的分支进行处理,因为变量vartype为0直接进入到TYPE_NOCLEAN的分支,从而不做清洗处理。
再回到/core/packages/vbforum/db/mysql/querydefs.php文件中,发现后续并没有再对nodeid键值进行处理,直接拼接到SQL语句中,造成了SQL注入漏洞。
至于如何利用,就不赘述了,向上追溯调用链即可。
给出POC证明:
修复建议
官方已发布最新安全补丁,请及时更新补丁:
https://forum.vbulletin.com/forum/vbulletin-announcements/vbulletin-announcements_aa/4440032-vbulletin-5-6-1-security-patch-level-1
目前,安恒APT预警平台、远程安全评估web扫描模块、网站安全监测平台等产品已支持对该漏洞的检测,已购买产品的客户可以通过在线升级的方式更新最新漏洞策略库进行自查。
https://www.easyaq.com
E周热点 ⑥(20200508-0515)| 网络窃贼冒充Zoom窃取微软证书
42亿次下载量!Google Firebase错误配置使4000个Android App数据遭泄露
中信银行泄露用户流水引“众怒” 隐私安全离我们还有多远?
Windows严重蠕虫漏洞将破坏全球的商业网络!
国泰航空被处以ICO50万英镑最高罚款 因数据泄露长达四年之久