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

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

缺陷编号:wooyun-2013-035480

漏洞标题:全国学生体质健康标准数据管理中心一个Sql注射

相关厂商:教育部

漏洞作者: jeary

提交时间:2013-08-28 12:29

修复时间:2013-10-12 12:29

公开时间:2013-10-12 12:29

漏洞类型:SQL注射漏洞

危害等级:低

自评Rank:5

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-08-28: 细节已通知厂商并且等待厂商处理中
2013-09-01: 厂商已经确认,细节仅向厂商公开
2013-09-11: 细节向核心白帽子及相关领域专家公开
2013-09-21: 细节向普通白帽子公开
2013-10-01: 细节向实习白帽子公开
2013-10-12: 细节向公众公开

简要描述:

可能因为struts,现在看见action就想试试。于是..
邀请码啊邀请码。

详细说明:

问题页面:http://www.csh.edu.cn/unitCode.action
首先,我想看看他怎样处理错误、处理各种特殊符号。
于是输入:'or 1=1#

1.png


暴露各种。看见这个
[select count(0) from unitCode where 1=1 and XXJGMC like '%'or 1=1#%']还有com.microsoft.sqlserver.jdbc.SQLServerException
知道怎么做了么?
于是随便来了: %' or 1 = 1 --
结果跟想象一样,可以查出所有。
既然是sql server,瞬间想到xp_cmdshell,不知道这个管理员是否细心,是否没有分配各种权限直接用的sa,于是构造以下:
1%' or 1 = 1 and 1=(select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell') --
然后FF浏览器抓了个包,响应数据和之前一样,代表存在xp_cmdshell
顺便看看权限,于是构造以下:
1%' or 1 = 1 and 1=(select IS_SRVROLEMEMBER('sysadmin')) --
结果还是一样,代表权限大大的:-)
可是接下来该干什么叻。。。
增加个用户?然后打开某个端口?(不好吧!)
来个格式化某盘?(太邪恶)
偷点数据?(这本来就是可以查数据的一个网站)
...
(略N)

漏洞证明:

http://www.csh.edu.cn/unitCode.action
在学校名里输入详细说明里的语句。

修复方案:

我sql不是很好。不过我建议你们这样写:
like '%'+#name #+'%
过滤用户的输入,查询学校应该只有数字和汉字。(看条件所定)
配置一个拦截器拦截所有的异常,不要将错误暴露。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2013-09-01 22:45

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT直接协调网站主管单位——教育部教育信息管理中心处置。
rank 11

最新状态:

暂无