漏洞概要
关注数(24 )
关注此漏洞
漏洞标题:通用型正方教务(通杀各版本)存在注入(不需登陆)+获得webshell+提权内网漫游
提交时间:2014-08-22 14:04
修复时间:2014-10-06 14:06
公开时间:2014-10-06 14:06
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:16
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
Tags标签:
无
漏洞详情 披露状态:
2014-08-22: 细节已通知厂商并且等待厂商处理中 2014-08-27: 厂商已经确认,细节仅向厂商公开 2014-09-06: 细节向核心白帽子及相关领域专家公开 2014-09-16: 细节向普通白帽子公开 2014-09-26: 细节向实习白帽子公开 2014-10-06: 细节向公众公开
简要描述: 某个接口页面存在oracle盲注,可以获得当前用户数据库,dump教师用户表,分析密文加密特征(前人研究成果+基友助攻),破译加密的密码。前台管理员登陆,后台文件上传基于黑名单原理,过滤u完全,上传特定文件,生成一句话。菜刀连接,大马提权。
详细说明:
百度搜索:“欢迎使用正方教务管理系统!请登录” 可获得几十页的词条。足见其通用。 存在注入点的页面为http://域名(ip)/xsxjxtdl.aspx 随便找个例子,做演示。
通过burp suite拦截,然后sqlmap加载进行post注入。
漏洞证明:
确定存在注入,为oracle的时间盲注(复现时可能比较纠结,时间可以加大一点,一次跑不出,可以跑2次),一般人可能到此就放弃了,但是像我们比较笨的人,只有更努力一点了。不幸中的万幸,前辈们开拓的很深入(致敬),正方的数据库结构已经很明了了。用户密码加密方式,乌云知识库也有讨论。 ps:①数据库结构: WooYun: 69个高校正方教务管理系统数据库任意操作 (向2位师兄致敬) ②加密方式:http://drops.wooyun.org/tips/847 WooYun: 方正教务系统sql注射 一般可以用--sql-shell进行快速提取(oracle权限分配比较死,权限比较低)。切正方如果默认数据库名改变,跑不出表的。 select YHM,KL from "YHB" where YHM like 'jw%'; 权限高的可以,直接dump了。 -D ZFXFZB -T YHB -C “yhm,kl” --start 1 --start 50
会得到一些,用户名和密码。(配合社工效果更佳,搞到管理员和老师的账号应该不是很难)
接下来,又是一个很苦逼的活。知道账号,密码很难解出来,只有试探弱密码,好在很多老师账号密码一致。这里要感谢基友彗星的全力助攻。根据乌云知识库的原理,写出了软件。
基友说,凭借小学英语和运气的组合,终于搞出了key。 然后,然后...发现乌云已经有人爆出了key。 依稀记得当时的感觉,就像千万只小学生中从心中奔腾而过。:( 好,接下来。进管理后台,拿webshell。后台过滤的还是蛮严格的。 asp.aspx.asa.1.asp;.jpg等等...均失败 然后灵光一闪,以前貌似看过ashx可以.net中生成一句话的。 于是:
以免有的同学,友情监测,还是打码为好。
学校机器一般年老失修,,,提权简直是so easy。 然后读出,管理密码。 嗯,大家猜对了,教务管理的密码惊人的一致。减少了一些提权之繁琐。 上传图片太痛苦了,so卡,就不上图了(不知是乌云的问题还是我的网速问题)。 罗里吧嗦的说了这么多,其实就是锲而不舍,才能达到最后,也没什么特别的。
修复方案: 修复的话:①页面做好过滤,参数化传入,防止注入 ②后台上传也要过滤好。 ③再就是校方,软件及时更新,教师密码安全普及一下。服务器上安全狗什么的,不要总是清一色的360安全卫士。(安装360最近的服务器管家也好,360大哥我错了,不要打我)
版权声明:转载请注明来源 sin @乌云
漏洞回应 厂商回应: 危害等级:高
漏洞Rank:20
确认时间:2014-08-27 10:15
厂商回复: CNVD确认所述情况,未完全复现(确认第一层风险),已经根据以往建立的邮箱联系渠道向软件生产厂商通报。
最新状态: 暂无
漏洞评价:
评论
2014-08-22 14:11 |
漫步云端 ( 普通白帽子 | Rank:196 漏洞数:33 | I'm Ramble!)
2014-08-22 14:13 |
天地不仁 以万物为刍狗 ( 普通白帽子 | Rank:977 漏洞数:264 | 天地本不仁 万物为刍狗)
2014-08-22 14:16 |
玉林嘎 ( 普通白帽子 | Rank:758 漏洞数:96 )
2014-08-22 14:18 |
pandas ( 普通白帽子 | Rank:585 漏洞数:58 | 国家一级保护动物)
2014-08-22 14:26 |
动后河 ( 实习白帽子 | Rank:51 漏洞数:13 | ☭)
2014-08-22 14:27 |
紫衣大侠 ( 普通白帽子 | Rank:201 漏洞数:21 | 愿结天下有识之士)
2014-08-22 14:29 |
1angxi ( 路人 | Rank:2 漏洞数:1 | 研究僧,安全新手,我只是来打酱油的...)
2014-08-22 14:29 |
scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)
2014-08-22 17:25 |
wellsun ( 路人 | Rank:0 漏洞数:1 | www.wellsun.com)
哥们现在正方的加密是什么方式?求交流,Q 7520024
2014-08-22 17:35 |
大大灰狼 ( 普通白帽子 | Rank:248 漏洞数:53 | Newbie)
2014-08-22 17:53 |
milk ( 路人 | Rank:21 漏洞数:5 | 美女,你肥皂掉了)
不知道我们山村里那个小学有没有这个系统,要是有的话,帮我改成绩可好?
2014-08-22 17:55 |
chock ( 实习白帽子 | Rank:58 漏洞数:15 | 今夜我们都是wooyun人,我们一定要收购长亭)
2014-08-22 18:00 |
scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)
2014-08-22 18:04 |
reality0ne ( 路人 | Rank:18 漏洞数:7 )
2014-08-22 18:26 |
scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)
2014-08-22 20:42 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
2014-08-23 11:17 |
error ( 普通白帽子 | Rank:415 漏洞数:96 )
通杀各版本肯定不信!新版加密使用oracle自带加密函数,你能破才叫叼;后台倒是可以上传ashx马
2014-08-24 19:12 |
wellsun ( 路人 | Rank:0 漏洞数:1 | www.wellsun.com)
@error 确定吗?URL 里的XH也是加密了,是不是MD5加密
2014-08-24 19:16 |
scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)
2014-08-26 01:55 |
wellsun ( 路人 | Rank:0 漏洞数:1 | www.wellsun.com)
2012的新版本(2013年10月份最新版),基本全国都使用一个版本的。通杀是有可能的,如果他能逆出那个加密的话。
2014-08-26 07:16 |
好基友一辈子 ( 普通白帽子 | Rank:138 漏洞数:37 )
2014-08-26 10:00 |
wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)
@scanf md5为什么方便,原来的可以直接解密的不是更方便,MD5的话有个万一就悲剧了
2014-08-26 10:03 |
s3xy ( 核心白帽子 | Rank:832 漏洞数:113 | 相濡以沫,不如相忘于江湖)
@wefgod 同意。原来的方法是100%成功率的话,变md5就是70%了。
2014-08-26 10:05 |
scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)
哦,这样啊,方正我没有解密脚本,所以觉得的MD5好一些..
2014-08-26 11:15 |
wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)
2014-08-27 16:56 |
tkey ( 路人 | Rank:2 漏洞数:1 | try harder)
2014-08-27 17:02 |
scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)
洞主小心啊!!!!楼上认出你了@tkey @sin
2014-08-27 23:59 |
~奈何~ ( 路人 | Rank:2 漏洞数:1 | web安全有点兴趣)
@1angxi 求细节, 是那个照片遍历接口吗? 求交流+Q:1535068423
2014-08-28 19:48 |
cooFool ( 路人 | Rank:0 漏洞数:2 | 终于通过了。)
2014-08-28 20:50 |
海绵宝宝 ( 普通白帽子 | Rank:243 漏洞数:50 | 唯有梦想与好姑娘不可辜负.)
2014-08-29 11:14 |
My5t3ry ( 实习白帽子 | Rank:31 漏洞数:13 )
看描述好像我去年提交裤带的这个:http://loudong.360.cn/vul/info/id/1777
2014-08-29 14:01 |
cooFool ( 路人 | Rank:0 漏洞数:2 | 终于通过了。)
@My5t3ry 求详细。我要试试我们学校、求带各种,rmb感谢啊@sin
2014-09-03 17:55 |
wellsun ( 路人 | Rank:0 漏洞数:1 | www.wellsun.com)
欢迎大家加入通杀教务系统漏洞QQ 群: 310068074
2014-09-10 16:52 |
ki11y0u ( 普通白帽子 | Rank:104 漏洞数:23 | 好好学习,求带飞~~~~~~~~~~~~~~~~~~~~~~...)
2014-09-11 11:03 |
发条橙子 ( 路人 | Rank:19 漏洞数:6 | ∑(っ °Д °;)っ)
public static string jiemi(string PlainStr, string key){ string NewStr =""; int Pos = 1; if ((Strings.Len(PlainStr) % 2) == 0) { string Side1 = Strings.StrReverse(Strings.Left(PlainStr, (int) Math.Round((double) (((double) Strings.Len(PlainStr)) / 2.0)))); string Side2 = Strings.StrReverse(Strings.Right(PlainStr, (int) Math.Round((double) (((double) Strings.Len(PlainStr)) / 2.0)))); PlainStr = Side1 + Side2; } int _Vb_t_i4_0 = Strings.Len(PlainStr); for (int i = 1; i <= _Vb_t_i4_0; i++) { string strChar = Strings.Mid(PlainStr, i, 1); string KeyChar = Strings.Mid(key, Pos, 1); if (((((Strings.Asc(strChar) ^ Strings.Asc(KeyChar)) < 0x20) | ((Strings.Asc(strChar) ^ Strings.Asc(KeyChar)) > 0x7e)) | (Strings.Asc(strChar) < 0)) | (Strings.Asc(strChar) > 0xff)) { NewStr = NewStr + strChar; } else { NewStr = NewStr + StringType.FromChar(Strings.Chr(Strings.Asc(strChar) ^ Strings.Asc(KeyChar))); } if (Pos == Strings.Len(key)) { Pos = 0; } Pos++; } return NewStr;}解密是这个吗
2014-09-11 12:57 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@tkey 兄弟,你不要吓我。 哎,别人家的孩纸9月7日,正方sql注入提交到360收获2000软妹币,有点受伤呐。
2014-09-16 14:06 |
pandas ( 普通白帽子 | Rank:585 漏洞数:58 | 国家一级保护动物)
oracle time-based-blind 略忧伤阿
2014-09-16 14:57 |
ki11y0u ( 普通白帽子 | Rank:104 漏洞数:23 | 好好学习,求带飞~~~~~~~~~~~~~~~~~~~~~~...)
2014-09-20 11:36 |
ki11y0u ( 普通白帽子 | Rank:104 漏洞数:23 | 好好学习,求带飞~~~~~~~~~~~~~~~~~~~~~~...)
2014-09-20 13:33 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@ki11y0u 其实各个版本均有各种各样的洞,不过以前的密码加密了,碰撞key稍微麻烦点。现在md5密码,就爽歪歪呀。
2014-10-02 19:27 |
bitemebitch ( 路人 | Rank:23 漏洞数:5 | 技能树龟速点亮中...)
华农:202.116.160.17/xsxjxtdl.aspxsqlmap 没能redirect :((((((((
2014-10-02 20:45 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
2014-10-02 20:51 |
bitemebitch ( 路人 | Rank:23 漏洞数:5 | 技能树龟速点亮中...)
2014-10-02 20:51 |
ki11y0u ( 普通白帽子 | Rank:104 漏洞数:23 | 好好学习,求带飞~~~~~~~~~~~~~~~~~~~~~~...)
2014-10-02 20:53 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
2014-10-02 20:53 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
2014-10-02 21:01 |
bitemebitch ( 路人 | Rank:23 漏洞数:5 | 技能树龟速点亮中...)
2014-10-03 14:07 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@夏殇 @bitemebitch 感觉华农很无辜啊。总是被受伤,O(∩_∩)O
2014-10-03 15:01 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
2014-10-06 01:50 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@夏殇 貌似有次追踪到了一个人的ip,不知是不是你。挂流量矿石,很没品额。都没拿0day打你们学校教务系统和一卡通系统。人家建设网站都挺不容易的,不要乱搞。
2014-10-06 12:13 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
@sin 我去,怎么会是我,我从来不搞破坏的...流量矿石是啥我都不知道,怎么回事
2014-10-06 12:58 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
2014-10-06 12:59 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
2014-10-06 13:09 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
@sin 我们学校教务被搞过?怎么没知道这回事,我就知道前段时间貌似有个挂博彩还是什么的上去
2014-10-06 14:48 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@夏殇 211端口可以执行sql命令,,,然后就没有然后了。以前的洞。
2014-10-06 17:22 |
3rr0r ( 路人 | Rank:0 漏洞数:2 | 努力学习!)
实验未果 @sin 是因为尝试次数不够还是?的确是2012年的正方[17:16:19] [INFO] parsing HTTP request from 'c:\1.txt'[17:16:19] [INFO] testing connection to the target url[17:16:20] [INFO] testing if the url is stable, wait a few seconds[17:16:21] [INFO] url is stable[17:16:21] [WARNING] reflective value(s) found and filtering out[17:16:21] [WARNING] heuristic test shows that POST parameter 'tbSFZH' might not be injectable[17:16:21] [INFO] testing for SQL injection on POST parameter 'tbSFZH'[17:16:22] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'[17:16:24] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLType)'[17:16:25] [INFO] testing 'Oracle AND time-based blind'[17:16:27] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'[17:16:43] [WARNING] POST parameter 'tbSFZH' is not injectable[17:16:43] [CRITICAL] all parameters appear to be not injectable. Try to increase '--level'/'--risk' values to perform more tests. Also, you can try to rerun by providing either a valid value for option '--string' (or '--regexp')
2014-10-06 17:29 |
3rr0r ( 路人 | Rank:0 漏洞数:2 | 努力学习!)
providing either a valid va[17:26:50] [WARNING] HTTP er403 (Forbidden) - 57 times
2014-10-06 19:04 |
夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)
2014-10-06 22:15 |
reot ( 路人 | Rank:2 漏洞数:1 | 新人)
2014-10-07 14:11 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@3rr0r @reot 貌似正方已经出了补丁,上面的注入,和上传webshell估计没什么用了。
2014-10-07 22:05 |
ki11y0u ( 普通白帽子 | Rank:104 漏洞数:23 | 好好学习,求带飞~~~~~~~~~~~~~~~~~~~~~~...)
@sin [21:54:24] [WARNING] POST parameter 'tbSFZH' is not injectable[21:54:24] [CRITICAL] all tested parameters appear to be not injectable. Try toincrease '--level'/'--risk' values to perform more tests. Also, you can try to rerun by providing either a valid value for option '--string' (or '--regexp')测试无果。
2014-10-07 22:06 |
基佬库克 ( 实习白帽子 | Rank:75 漏洞数:15 | 简介什么的是直接爆菊吧..)
密码早md5.。这是多老的版本啊。。那个任意文件上传也早没了。。这个通用是有多老版本。
2014-10-08 09:57 |
wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)
@基佬库克 目测已经很多都升级了,没有这个注入了,这个注入有点低级……现在的应该都不会有了
2014-10-08 11:43 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@基佬库克 想得美,还想任意文件上传。 软件名称:教务管理系统(过渡版)发布日期:2013年04月28日, 16:59:34 这个版本下估计有戏。但你要会玩。从各处的数据库解密和教师密码解密的key看,还是比较新的版本。@wefgod
2014-10-08 13:48 |
路人N ( 路人 | Rank:12 漏洞数:8 )
function getMD5(vin_string IN VARCHAR2) RETURN VARCHAR2 IS temp varchar2(40);BEGIN temp := dbms_obfuscation_toolkit.MD5(input => utl_raw.cast_to_raw(vin_string)); RETURN '{MD5}' || utl_raw.cast_to_varchar2(utl_encode.base64_encode(temp));END getMD5;表名看这里http://61.153.27.181:93/db.asp?action=get&sql=select%20table_name%20from%20user_tables;
2014-10-08 19:14 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@路人N 可以执行sql,30秒可getshell,然后就没有然后了,这个很危险的。下次不要随便发出来额。
2014-10-08 19:35 |
hack雪花 ( 实习白帽子 | Rank:67 漏洞数:18 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)
2014-10-09 08:39 |
路人N ( 路人 | Rank:12 漏洞数:8 )
2014-10-12 13:49 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
2014-10-16 09:28 |
你又不是她 ( 路人 | Rank:0 漏洞数:1 | ~。~)
2014-10-16 10:48 |
sin ( 实习白帽子 | Rank:38 漏洞数:2 | 寻找最优雅的解决方案)
@你又不是她 很早前就提交了,你可以要求360公开额。
2014-10-16 16:22 |
好基友一辈子 ( 普通白帽子 | Rank:138 漏洞数:37 )
2014-10-19 03:29 |
wellsun ( 路人 | Rank:0 漏洞数:1 | www.wellsun.com)
@楼上所有想捅正方菊花的孩子们.正方因为在之前收到很多漏洞递交,对2010版本进行了大升级为2012,目前以普及所有正方用户,那么,2012版本有什么特别呢?① 部门权限的C/S客户端的传输端口进行了MD5加密.且仅对内网开放② 源码根目录添加2个文件夹,分别为"style"app_config"一个用于过滤你的SQL&&;另外一个是用于APP接口.③ 老用户登录必须强制修改密码为数字+英文来避免弱口令并且使用MD5加密。④ 数据库IP并且仅对内网IP开放.⑤ 根目录下删除了多余无大用处的页面.且每个页面都有验证权限,除了xsxjxtdl.aspx。 ⑥ 正方自带的"安全巡检"升级,并且存在文件异动检测 ⑦ 太多了,我就不一一说了,另外给正方递交漏洞的那些人能不能保守点,人家正方在WOOYUN连厂商都不注册个,一个劲的递交啥? 待你需要曰时,或者需要源码以及各种的,你才知道可恶! 不过需要材料研究的可以加群:310068074 不客气,请叫我红领巾