近期国外多家互联网公司因为vBulletin系统的SQL注入漏洞(CVE-2016-6195)而导致数据泄露,Epic Games、DOTA2开发者论坛等。
漏洞来自于核心插件forumrunner,该插件默认开启,黑客在未登录状态即可利用该漏洞进行数据库拖库,安全狗默认可拦截该注入攻击。
根据securelayer7提供的exploit可以看到触发文件为/forumrunner/request.php文件
/forumrunner/request.php?d=1&cmd=get_spam_data&postids=-1)union select 1,2,3,(select (@x) from (select (@x:=0x00),(select (0) from (user)where (0x00) in (@x:=concat(@x,0x3c62723e,username,0x3a,password,0x3a,salt,0x3a,email))))x),5,6,7,8,9,10—
代码中第38行通过自定义的process_input函数获取cmd、frv、frp变量的值;紧接着第52-56行引入三个文件,后面代码中的$method变量则来自于这三个文件;第62-64行代码根据传入的变量cmd参数的值而引入相关的功能。
根据执行的exploit来看,我们需要找到get_spam_data的定义。根据forumrunnersupportcommon_methods.php中第664-667行可以看到执行get_spam_data时需要调用forumrunnerincludemoderation.php中的do_get_spam_data函数
do_get_spam_data函数在forumrunnerincludemoderation.php中第1438-1810行定义。在第1443-1446行,函数通过clean_array_gpc函数过滤了来自$_REQUEST的变量,但由于类型设置为TYPE_STRING,因此对SQL注入并没有影响。
通过执行的exploit中可以看到最终注入的位置在postids参数,通过通读代码后吗,发现在第1622-1631行代码中判断postsids参数是否不为空后不做任何过滤就代入了SQL语句并执行,最终导致了SQL注入的形成。
由于环境差异原因只通过sqlmap成功复现了延时盲注,可以获取任意数据。(测试环境4.2.2)
修复方案:
1.安装安全狗可直接防御该漏洞
2.官方已发布补丁可直接更新补丁(http://members.vbulletin.com/patches.php)
参考:
1、http://blog.securelayer7.net/vbulletin-sql-injection-exploit-cve-2016-6195/
点击图片查看近期热点
看ISC技术论坛上专家们如何解读“威胁情报”
2016互联网安全大会 一场解封“洪荒之力”的大戏持续上演
你家收到信息安全等级保护限期整改通知书了吗?
恐怖袭击和寨卡病毒算什么? 这才是“里约大冒险”最难过的关卡
安全狗,知名互联网安全品牌,领先的云安全服务与解决方案提供商。秉承“安全狗即服务”的理念,依托全球领先的安全技术与完善的大数据处理平台,帮助客户实现业务平台的安全、稳定、可靠运行。
原文始发于微信公众号(安全狗):vBulletin系统SQL注入漏洞(CVE-2016-6195)分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论