博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vBulletin系统曝SQL注入漏洞 安全狗可直接防御
阅读量:5860 次
发布时间:2019-06-19

本文共 1144 字,大约阅读时间需要 3 分钟。

hot3.png

近期国外多家互联网公司因为vBulletin系统的SQL注入漏洞(CVE-2016-6195)而导致数据泄露,Epic Games、DOTA2开发者论坛等。

漏洞来自于核心插件forumrunner,该插件默认开启,黑客在未登录状态即可利用该漏洞进行数据库拖库,安全狗默认可拦截该注入攻击。

  根据securelayer7提供的可以看到触发文件为/forumrunner/request.php文件

  /forumrunner/request.php?d=1&cmd=get_spam_data&postids=-1)union select 1,2,3,(select (@x) from (select (:=0x00),(select (0) from (user)where (0x00) in (:=concat(,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的定义。根据\forumrunner\support\common_methods.php中第664-667行可以看到执行get_spam_data时需要调用\forumrunner\include\moderation.php中的do_get_spam_data函数

do_get_spam_data函数在\forumrunner\include\moderation.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.官方已发布补丁可直接更新补丁()

Reference:

1、

 

转载于:https://my.oschina.net/safedog/blog/741016

你可能感兴趣的文章
选择 (动态树)
查看>>
SQLserver数据库还原语句
查看>>
UPC11073(DP,思维)
查看>>
android开发环境 eclipse + android sdk配置笔记
查看>>
【T-SQL】系列文章全文目录(2017-06-26更新)
查看>>
洛谷 P4170 [CQOI2007]涂色
查看>>
XML和json的区别比较
查看>>
哈希表的理解
查看>>
P1659 [国家集训队]拉拉队排练
查看>>
动画-仿微博弹簧动画
查看>>
资深项目经理推荐的几款免费/开源项目管理工具
查看>>
bzoj2870最长道路tree——边分治
查看>>
CentOS 下安装 Hexo 博客
查看>>
SilverLight
查看>>
分类与回归的区别
查看>>
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'fruitdb'
查看>>
SRM 401(1-250pt, 1-500pt)
查看>>
CSS以及JQuery总是忽略掉的小问题
查看>>
20 字典的函数及其作用
查看>>
js里面调用后台的方法
查看>>