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

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

缺陷编号:wooyun-2012-015544

漏洞标题:乐视网j2ee应用的安全问题!

相关厂商:乐视网

漏洞作者: shine

提交时间:2012-12-03 13:28

修复时间:2013-01-17 13:29

公开时间:2013-01-17 13:29

漏洞类型:未授权访问/权限绕过

危害等级:高

自评Rank:12

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-12-03: 细节已通知厂商并且等待厂商处理中
2012-12-03: 厂商已经确认,细节仅向厂商公开
2012-12-13: 细节向核心白帽子及相关领域专家公开
2012-12-23: 细节向普通白帽子公开
2013-01-02: 细节向实习白帽子公开
2013-01-17: 细节向公众公开

简要描述:

渗透j2ee应用的一个饱满case!

详细说明:


很多初次接触渗透的人问过我(哈哈,其实我也是初学者(基本是注册乌云后开始的)),如何去渗透?
这个真不知道怎么回答。
个人的观点,一些条件:基础知识(还是要多学习,多实践)、一点独特的思维(喜欢干这个的人都基本具备)、运气(这个很重要(都懂的),当然,如果问题确实存在,它就是必然的)、一颗享受的心态去渗透(心态很重要)。
0day拼的是特长,渗透拼的是综合能力!
看看下面一个j2ee应用的渗透!

漏洞证明:

我的渗透简单流程:锁定目标业务 --> 判断ip段 --> 判断常规端口 --> 然后才是单个应用
重点就是单个应用了:应用开发中的一些小细节在这里体现很重要了!


乐视网互联网电视运营支撑平台:
http://115.182.94.67:8080/


1.png


首先,发现存在http://115.182.94.67:8080/login1.jsp这个访问路径(发现与http://115.182.94.67:8080/login.jsp有点不同),如果使用双斜杠“//”(其实是大于两个斜杠以上),发现就暴露了一些重要功能,注册操作管理人的重要功能暴露:


21.png


2.png


问题一:双斜杠绕过问题?
很常见方式,本身如果没有“申请”这个功能,什么问题都可能不会发现,可它确实存在(这里可能是纯粹的js页面屏蔽,双斜杠路径引用出错使代码未执行,导致功能暴露!有兴趣的验证一下!)!
对于双斜杠引用路径问题,在j2ee开发框架中很好解决,把访问路径的全部定向在根目录下就好了,可能开发人员觉得麻烦,都不愿意去弄!


注册一个帐号,进入管理页面:


3.png


这是个低权限的帐号,我们的目标肯定是拿下服务器权限:


尝试一些sql注射等常规手段未果后,转向j2ee应用本身的一些问题。


发现统计功能使用了jfreechart包,这里就容易有个问题:“任意文件读取”。因为jfreechart是根据数据即时生成图片,然后返回这张图片路径的,开发人员再使用它。


4.png


5.png


这里开发人员处理了(不知道开发人员真有这意识,哈哈),把路径定死在tomcat/temp目录下(或者其他绕过方式,也没去测试了!),因为看到一个重要信息,异常信息:


6.png


7.png


问题2:异常信息处理,它暴露从容器到框架及一些具体代码等!所以它很重要!很重要!(如何去渗透j2ee,就在这里,让j2ee应用出错!)
问题3:处理异常信息时,要注意XSS,具体请见哥这篇简述:
http://hi.baidu.com/shineo__o/item/a273f612060ec1d287ad4ec5


opensymphony? struts2?
原来是struts2框架,问题就简单了!
因为这里根据访问的url的后缀,如:
http://115.182.94.99:8080/login1.jsp
http://115.182.94.99:8080/signup
以为是纯jsp及servlet的实现(这算是开发人员的安全意识提升吗?)!
通常判断struts2时,常规后缀是xxx.action、xxx!xxx.do、xxx.do或xxx.htm(哥就用这个后缀,但哥用的是自己写的框架,哈哈!)等。


8.png


发现还是个double kill !


9.png


接下来就是内网及数据库所在网段了,就不去看了!


上服务器看了看源代码,发现路径引用问题还是很多,开发很乱,没条理,如:


mainboard.jsp
<%@ include file="/隐藏/taglibs.jsp"%>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
</head>
<frameset rows="60,30,*,29" cols="*" frameborder="no" border="0" framespacing="0" onhelp="return false">
<frame src="${ctx}/隐藏/frame/topframe.jsp" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" />
<frame src="${ctx}/隐藏/frame/menuframe.jsp" name="menuFrame" scrolling="no" noresize="noresize" id="menuFrame" />
<frame src="${ctx}/隐藏/frame/operframe.jsp" name="operFrame" scrolling="no" noresize="noresize" id="operFrame" />
<frame src="${ctx}/隐藏/frame/bottomframe.jsp" name="buttomFrame" scrolling="no" noresize="noresize" id="buttomFrame" />
</frameset>
<noframes></noframes>
</html>


frame我通常是使用web框架指定文件路径(定向根目录),而不是直接使用jsp文件路径的!
开发人员多注意细节啊!除了影响界面美工,还有其他东西了?


修复方案:

因为,谁会想到一个文件引用的路径问题,导致服务器沦陷了?

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:18

确认时间:2012-12-03 13:52

厂商回复:

感谢帮忙挖掘,我们会立刻处理该问题。

最新状态:

暂无