某个接口页面存在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。
然后读出,管理密码。
嗯,大家猜对了,教务管理的密码惊人的一致。减少了一些提权之繁琐。
修复的话:
①页面做好过滤,参数化传入,防止注入
②后台上传也要过滤好。
③再就是校方,软件及时更新,教师密码安全普及一下。服务器上安全狗什么的,不要总是清一色的360安全卫士。(安装360最近的服务器管家也好,360大哥我错了,不要打我)