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

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

缺陷编号:wooyun-2015-0116152

漏洞标题:致远A8协同管理软件v3.2以上版本存在后门口令

相关厂商:seeyon.com

漏洞作者: 守望

提交时间:2015-05-25 19:14

修复时间:2015-08-28 19:17

公开时间:2015-08-28 19:17

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:5

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-05-25: 细节已通知厂商并且等待厂商处理中
2015-05-30: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-07-24: 细节向核心白帽子及相关领域专家公开
2015-08-03: 细节向普通白帽子公开
2015-08-13: 细节向实习白帽子公开
2015-08-28: 细节向公众公开

简要描述:

管理界面存在后门口令,导致之前的日志安全策略全部失效。网站信息泄露,用户session泄露。

详细说明:

I-回顾
先参看一下之前爆出的几个漏洞:
(1).致远A8-V5协同管理软件日志信息泄露(通杀V5)

 WooYun: 致远A8-V5协同管理软件日志信息泄露(通杀V5) 


(2).致远A8协同管理系统"后门"一样的Log泄露JSESSIONID可登陆用户

 WooYun: 致远A8协同管理系统"后门"一样的Log泄露JSESSIONID可登陆用户 


(3).上传getshell等等
II-漏洞原因
回顾的意义在于看一看以前问题的点,官方对/seeyon/management/status.jsp 和/logs/下的日志访问处理是,在/managenment/index.jsp这个文件中加入了密码验证处理,未授权访问management文件夹下内容时会跳转到首页,访问logs文件夹内容时会报异常。那么这个index.jsp中的密码验证是如何进行的呢?上图。
index.jsp:

<%
InfoOpenManager infoOpenManager = (InfoOpenManager)ApplicationContextHolder.getBean("infoOpenManager");
if(infoOpenManager.isAccess(request.getRemoteAddr(),request.getParameter("password")){
session.setAttribute("GoodLuckA8", Boolean.TRUE);
String serverInfo = getServletContext().getServerInfo();
if (serverInfo != null && serverInfo.contains("WebSphere")) {
response.sendRedirect("status4WAS.jsp");
}
else{
response.sendRedirect("status.jsp");
}
}
%>


由infoOpenManager.isAccess()进行验证.反编译相关class文件,infoOpenManager.isAccess()的实现:

public boolean isAccess(String remoteAddress, String password)
{
if ((password == null) || (remoteAddress == null)) {
return false;
}
if (("127.0.0.1".equals(remoteAddress)) || ("localhost".equalsIgnoreCase(remoteAddress)) || ("WLCCYBD@SEEYON".equals(password))) {
return true;
}
InfoOpen infoOpen = get();

return (infoOpen.isEnabled()) && (Strings.isNotBlank(infoOpen.getEndTime())) && (Datetimes.parseDatetimeWithoutSecond(infoOpen.getEndTime()).after(new Date())) && (password.equals(TextEncoder.decode(infoOpen.getPassword())));
}



if...不用多说了吧,幸亏remoteAddress是用request.getRemoteAddr()来取的。
iii-效果
随便找一个(其实也不是随便)看看效果——南京交通集团。
(1).试图进行未授权访问/seeyon/management/status.jsp时,302到index.jsp。

QQ图片113.jpg


(2).尝试访问/logs/login.log时,报异常。

QQ截图114.png


(3).利用后门口令登陆后

QQ115.png


信息泄露:

QQ 116.png


系统操作及异常日志:

QQ118.png


用户登录日志:

QQ119.png


登陆效果:

QQ图片120.jpg


getshell跟本漏洞无关,所以不继续跟进,但并不表明这个漏洞的危害小。
III-影响版本及范围
v3.2以上、fofa

漏洞证明:

见详细说明栏。

修复方案:

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


漏洞回应

厂商回应:

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

忽略时间:2015-08-28 19:17

厂商回复:

漏洞Rank:8 (WooYun评价)

最新状态:

暂无