漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0116506
漏洞标题:21世纪大学英语网络学习平台getshell
相关厂商:cncert国家互联网应急中心
漏洞作者: Virink
提交时间:2015-05-27 16:49
修复时间:2015-07-16 11:10
公开时间:2015-07-16 11:10
漏洞类型:设计缺陷/逻辑错误
危害等级:中
自评Rank:8
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-05-27: 细节已通知厂商并且等待厂商处理中
2015-06-01: 厂商已经确认,细节仅向厂商公开
2015-06-11: 细节向核心白帽子及相关领域专家公开
2015-06-21: 细节向普通白帽子公开
2015-07-01: 细节向实习白帽子公开
2015-07-16: 细节向公众公开
简要描述:
21世纪大学英语网络学习平台,任意上传,重命名getshell
另外,吐槽一下、、漏洞类型实在是不知道属于哪个、、、
详细说明:
对学校的某些硬性要求感到不满,所以稍微检测一下这个系统“21世纪大学英语网络学习平台”,是复旦出版社的东东。
http://211.71.233.63/21stlearn/
首先,这系统一般都有初始密码,弱口令也可以破!
我随便用一个学号和初始密码就等进去了
进入教学资源-个人资源页面,上传文件。不知道是不是对自己的防护机制满意,反正是可以上传任意文件。当然,就算限制也没问题,反正后面可以重命名的。
上传文件的前提就是安装客户端了,这个就是下载安装就是了
一句话上传成功,接下来我们查看文件
这里的地址没什么用处,21stlearn_upload是个虚拟目录,真实地址稍后揭晓。
我们进入文件管理,重命名。
我们就是利用重命名修改文件路径,让我们的shell能够在可执行目录下执行。
这里不能直接输入../,有过滤。
但是我们可以理由难过神器Burp抓包修改
随便输入一个名字,就a.jsp吧,接下来看我们截到的数据,看看它是怎么样重命名的。
一堆红色的字符串是关键,我们解码字符串看看,这个要解码两次喔
看到了什么,没错!
真实的上传文件目录:upload,而不是21stlearn_upload
结合前面的信息具体路径:D:/LearningSoft/21stlearn/Webappshttps://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/1/2015-05-26/65/o.jsp
在结合前面的信息,可以猜测出访问的程序的根目录不在Webapps/下就是在Webapps/learning下
新的文件名:new_name=a.jsp
成功修改之后,继续抓包查看,然后又发现有意思的东西了。
也就是打开或者刷新“文件管理”页面的时候,它是怎么加载显示上传的文件的。
这个文件“file_list2.jsp”可以列目录文件,红果果的遍历漏洞。
http://xxxx/21stlearn_sync/file_list2.jsp
几个可控制的get:dir>要列出文件目录、sub_file>列表控制条件,sub_file=0的时候只显示当前目录文件,空值的时候显示包括子目录文件、var_name没什么用处,控制文件字符串显示的格式。
我们打开新页面访问
http://xxxx/21stlearn_sync/file_list2.jsp?dir=D:/LearningSoft/21stlearn/Webappshttps://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/1/2015-05-26/65&sub_file=0
看到我前面上传并且重命名的文件了
我们把dir的值改成网站根目录,不加sub_file=0,结果如图
密密麻麻的文件看的眼花,搜索一下首页索引,找到“index.jsp”
果不其然,就是在learning目录下!
修改dir看看learning目录,这次加上sub_file=0
简洁多了~~虽然由于截图的问题并没有看到第二行最右边的index.jsp
接下来考虑转移的问题!
上传的文件D:/LearningSoft/21stlearn/Webappshttps://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/1/2015-05-26/65/a.jsp
我们要让它移动到D:/LearningSoft/21stlearn/Webapps/learning/a.jsp
就要利用../来实现。
即:../../../../learning/a.jsp
前面说过不能直接修改,我们就试着截包修改,幸运的成功了。看!
再来一次重命名为x.jsp,来到new_name=x.jsp,当然是在编码的情况
就是这里啦,x%252ejsp就是两次编码的x.asp。既然是两次url编码
那么../也要两次编码咯
即:%252E%252E%252F%252E%252E%252F%252E%252E%252F%252E%252E%252Flearning%252Fx%252Ejsp
一路执行下去,如果不出意外,我们的shell就会转移到了程序根目录下面。
我们可以遍历目录来看一下是不是成功了
看到了木有,x.jsp出现了
我估计这个是通杀的,但是由于这个系统一般是在内网的,也就不好举出实例了,这个就麻烦审核的同志去看看吧。
PS。让一朋友试了一下,果真成功、、但是他拒绝透漏学校、、郁闷呢
=======================
shell已删除!
漏洞证明:
修复方案:
过滤咯
版权声明:转载请注明来源 Virink@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-06-01 11:09
厂商回复:
暂未能建立与网站管理单位的直接处置渠道,待认领。
最新状态:
暂无