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

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

缺陷编号:wooyun-2012-012680

漏洞标题:青果教务网络管理系统逻辑处理不严谨导致SQL注入,可至全国数百所高校教务系统沦陷

相关厂商:湖南青果软件有限公司

漏洞作者: jerryl3e

提交时间:2012-10-10 11:30

修复时间:2012-10-15 11:31

公开时间:2012-10-15 11:31

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-10-10: 细节已通知厂商并且等待厂商处理中
2012-10-15: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

在这个系统官网上发现该教务系统全国有535所高校在用,测试了几个都成功了,直接是SA权限的MSSQL,有个别貌似版本不一样不行,但是应该大多数都可以通杀。

详细说明:

这里可以看见该系统使用学校(http://www.kingosoft.com/cgal/index1.aspx),教务系统有535所学校在用,貌似这个系统有2个版本,有一个较新的不行,但是大多数都是老版本,可以成功利用该漏洞对服务器攻击,差不多可以影响上百所高校教务系统吧。
接下来分析一下漏洞形成:
该系统有个教师注册页面没有设置访问权限(漏洞页面:http://xxx/_data/index_JSRP.aspx)任何人都可以访问,并且随便注册教师,如图1,该站是南京林业大学的,我拿来演示一下.URL(http://jwk.njfu.edu.cn/_data/index_JSRP.aspx)


图1
然后这个页面对于表单提交的数据只进行了本地JS验证,没有进行服务端验证数据的合法性,如图2,反编译这个页面的DLL


图2
可以发现服务端对于输入数据完全没有过滤,业务逻辑是考虑了防SQL注入的,因为注册数据插入数据库是直接写的函数,然后用dataset的进行rowadd,貌似没有发现可以利用注入的地方,如图3是插入数据库的函数。


图3
但是,不是这样就意味着不能注入了,好歹服务器完全没有过滤刚刚的东西,然后我就继续去分析这个代码的处理流程,发现了一个有问题的地方,如图4


图4
这里对text9也就是输入的身份证号进行了验证,去查询数据库是否存在该身份证号,避免重复注册,然后跟进这个函数就会发现,如图5


图5
关键的地方就在这里了,这个函数对于text1的查询语句代入getds()执行,如图6


图6
利用SqlDataAdapter进行语句执行,可以执行多行语句,然后,大家都懂的。
我讲讲如何利用
首先自己测试自己POST数据进行注册(POST内容:txtxm=jerryl3ejerryl3e&txtxb=7&txtcsrq=1980-9-9&txtxl=test&txtxw=test&txtzc=test&txtmz=test&txtjg=test&txtlxdh=test&txtdzyx=test&txtjl=test&txtsfzh=511111111111111122),发现可以注册成功。
如图7,成功注册一个用户名为jerryl3e的教师用户,身份证号为511111111111111122


图7
再用该身份证号注册就会发现该身份证号已注册,说明进行了代码中有漏洞的语句,如图8


图8
然后就看就构造语句试试吧,如图9


图9
看看是否是SA权限(POST: txtxm=jerryl3ejerryl3e&txtxb=7&txtcsrq=1980-9-9&txtxl=test&txtxw=test&txtzc=test&txtmz=test&txtjg=test&txtlxdh=test&txtdzyx=test&txtjl=test&txtsfzh=511111111111111122' and 1=(select is_srvrolemember('sysadmin'));select '1'='1),如图10


图10
看看可不可以执行CMD(POST: txtxm=jerryl3ejerryl3e&txtxb=7&txtcsrq=1980-9-9&txtxl=test&txtxw=test&txtzc=test&txtmz=test&txtjg=test&txtlxdh=test&txtdzyx=test&txtjl=test&txtsfzh=511111111111111122' and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE name= 'xp_cmdshell');select '1'='1),如图11


图11
接下来就不用证明什么了,没有继续搞下去,本来想搞试试插入一个管理员,分析了登陆代码,数据插入对了,就是一直密码不对,不知道是不是版本升级什么把密码加密方式变了吧。
然后这个系统应该默认安装时候数据库是SA用户吧,所以危害很大,再结合我曾经分析的数据库字符串加密算法(http://hi.baidu.com/jerryl3e/item/565675077c15f70e3a53eeeb),很容易就进行数据库进行改成绩之类的。也可以通过这个注入点直接拿webshell,这个系统默认安装目录是:D:\KINGOSOFT\KINGOJWGL2006\JWWEB\

漏洞证明:

同上。。。

修复方案:

对这个页面的访问设置权限,然后服务端验证输入数据。

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2012-10-15 11:31

厂商回复:

最新状态:

2012-10-15:已修复


漏洞评价:

评论

  1. 2012-09-25 12:59 | xiaokinghk ( 实习白帽子 | Rank:82 漏洞数:16 | 【DBA】)

    @jerryl3e 厂商不管啊 求详细

  2. 2012-09-25 13:07 | jerryl3e ( 普通白帽子 | Rank:157 漏洞数:19 )

    @xiaokinghk 看厂商回复吧,如果不管再公布漏洞。。。

  3. 2012-09-25 14:17 | koohik ( 普通白帽子 | Rank:542 漏洞数:63 | 没什么介绍的http://www.koohik.com/)

    现在的教务系统大都这样!

  4. 2012-09-25 14:57 | 肉肉 认证白帽子 ( 普通白帽子 | Rank:112 漏洞数:10 | 肉肉在长亭科技,肉肉在长亭科技,肉肉在长...)

    求详细啊求详细

  5. 2012-09-25 16:18 | Tea ( 普通白帽子 | Rank:297 漏洞数:37 | Can't We Be Young.)

    会被拖一大批的学校库啊..

  6. 2012-09-25 18:09 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    为啥不交由CNVD处理的?@cncert国家互联网应急中心

  7. 2012-09-25 23:50 | Reserved ( 路人 | Rank:5 漏洞数:1 | 小菜一枚)

    说不管 说不定有人在修复了

  8. 2012-09-26 13:23 | 無情 ( 实习白帽子 | Rank:41 漏洞数:5 | 根据相关法律法规和政策,此信息未予显示。)

    修复后,,,再忽略 哈哈

  9. 2012-09-27 09:58 | 鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)

    楼上正解·~~~

  10. 2012-10-06 02:55 | 冰锋刺客 ( 普通白帽子 | Rank:113 漏洞数:14 | 请在监护人陪同下与本人交流)

    @cncert国家互联网应急中心 这个很严重啊,教务系统并不只是办公的,而是管理学生成绩....

  11. 2012-10-07 06:56 | saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)

    这个这个求公布啊,哈哈哈

  12. 2012-10-07 06:57 | saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)

    猜想是不是要开启论坛才能成功?有大牛给说过

  13. 2012-10-15 11:34 | pysolve ( 路人 | Rank:17 漏洞数:3 | Time is killing u when ur killing time!)

    无底线厂商啊 居然忽略了

  14. 2012-10-15 11:39 | zzR 认证白帽子 ( 核心白帽子 | Rank:1382 漏洞数:122 | 收wb 1:5 无限量收 [平台担保])

    @jerryl3e 楼主南林的哪?

  15. 2012-10-15 12:01 | 瘦蛟舞 认证白帽子 ( 普通白帽子 | Rank:687 漏洞数:78 | 铁甲依然在)

    @pysolve 5天不处理就忽略了。。。要注意引导厂商。。。也许厂商就是无底线。。。

  16. 2012-10-15 12:15 | pangshenjie ( 普通白帽子 | Rank:110 漏洞数:14 )

    这杀伤力有点大。

  17. 2012-10-15 13:34 | jerryl3e ( 普通白帽子 | Rank:157 漏洞数:19 )

    @zzR 不是的。。。

  18. 2012-10-15 13:35 | jerryl3e ( 普通白帽子 | Rank:157 漏洞数:19 )

    。。。多半是厂商忘了确认

  19. 2012-11-18 19:32 | 毛猴 ( 实习白帽子 | Rank:63 漏洞数:18 | 一 只 怀 有 梦 想 的 猴 ......)

    等了好久好久啊.....

  20. 2013-12-25 16:38 | nick被注册 ( 普通白帽子 | Rank:125 漏洞数:20 | 天一)

    上学那会我拿到了我学校的青果系统。源码也下载了一份。当时提交也没给过。。数据库连接是加密的。