漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-075122
漏洞标题:宏景EHR系统3处SQL注射漏洞
相关厂商:北京宏景世纪软件股份有限公司
漏洞作者: 路人甲
提交时间:2014-09-05 16:55
修复时间:2014-12-04 16:56
公开时间:2014-12-04 16:56
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-09-05: 细节已通知厂商并且等待厂商处理中
2014-09-10: 厂商已经确认,细节仅向厂商公开
2014-09-13: 细节向第三方安全合作伙伴开放
2014-11-04: 细节向核心白帽子及相关领域专家公开
2014-11-14: 细节向普通白帽子公开
2014-11-24: 细节向实习白帽子公开
2014-12-04: 细节向公众公开
简要描述:
某EHR系统 3处SQL注射漏洞
详细说明:
存在漏洞的是 北京宏景世纪软件股份有限公司研发的宏景EHR系统
公司官网:http://www.hjsoft.com.cn/
官方大量政企高端用户:http://www.hjsoft.com.cn/2525/1040/index.shtml
一些案例:
测试网站:http://www.hjsoft.com.cn:8089/(官方在线试用)
1.由于/pos/posbusiness/train_get_code_tree.jsp页面参数codesetid未安全过滤导致SQL延时注射漏洞
2.由于/servlet/sys/option/customreport/tree页面参数id未安全过滤导致SQL延时注射漏洞
3.由于/system/report_orgtree.jsp页面参数report_type未安全过滤导致SQL延时注射漏洞
漏洞复现:
漏洞证明:
1.判断数据库名长度:
a.设置数据库名长度>=5时,页面存在延时,即判断条件成立。
参数codesetid:
参数id:
参数report_type:
b.设置数据库名长度>=6时,页面不存在延时,即判断条件不成立,即数据库名长度为5。
参数codesetid:
参数id:
参数report_type:
2.判断数据库名第一个字符的ASCII码值
a.设置数据库名第一个字符的ASCII码值>=121,页面存在延时,即判断条件成立
参数codesetid:
参数id:
参数report_type:
b.设置数据库名第一个字符的ASCII码值>=122,页面不存在延时,即判断条件不成立,即数据库名第一个字符的ASCII码值为121,即字符y
参数codesetid:
参数id:
参数report_type:
根据此方法依次可得出数据库名各个位对应的ASCII码值121 107 99 104 114 ,即数据库名为ykchr
修复方案:
对参数是否是数字型进行判断过滤
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:18
确认时间:2014-09-10 09:13
厂商回复:
CNVD确认并复现所述情况,由CNVD通过软件生产厂商公开邮箱联系方式向其通报。
最新状态:
暂无