### 简要描述: 大汉网络后台用户密码存储不安全,影响信息公开内容系统和网站群系统 ### 详细说明: 大汉爆出很多的漏洞,包括sql、任意文件下载、上传文件漏洞。 对于上传、下载这些越权的漏洞,大汉已经进行了修补,不过只是增加了对权限的判断,必须是登录成功的用户才能给进行上传下载操作,看似修补成功了。 不过现在大汉网站群在很多政府部门大量使用,即使存在sql注入。可能也还是一部分信息泄露,毕竟没有涉及到账号密码。 今天我曝的这个洞,乌云上还没有人提交过。 [<img src="https://images.seebug.org/upload/201503/1219023326cab8d677b248ca5f4fce88c03a76cc.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/1219023326cab8d677b248ca5f4fce88c03a76cc.png) 这是信息公开内容管理系统 [<img src="https://images.seebug.org/upload/201503/12190717fcb719cb91a3fd785cf00cccba12980b.png" alt="jcms.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/12190717fcb719cb91a3fd785cf00cccba12980b.png) 这是jcms网站群,用户名和密码都是存储在同一张表中MERP_PUB_USER 每个政府单位都可以通过自己的账号来登录网站群,来发布政府信息。一旦被恶意利用,后果可以参考 14年宁波某政府单位网站被黑事件。 ``` if ((("0".equals(pwd_encrypt)) && (!password.equals(entity .getVc_password()))) || ( ("1".equals(pwd_encrypt)) && (!password.equals(entity...
### 简要描述: 大汉网络后台用户密码存储不安全,影响信息公开内容系统和网站群系统 ### 详细说明: 大汉爆出很多的漏洞,包括sql、任意文件下载、上传文件漏洞。 对于上传、下载这些越权的漏洞,大汉已经进行了修补,不过只是增加了对权限的判断,必须是登录成功的用户才能给进行上传下载操作,看似修补成功了。 不过现在大汉网站群在很多政府部门大量使用,即使存在sql注入。可能也还是一部分信息泄露,毕竟没有涉及到账号密码。 今天我曝的这个洞,乌云上还没有人提交过。 [<img src="https://images.seebug.org/upload/201503/1219023326cab8d677b248ca5f4fce88c03a76cc.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/1219023326cab8d677b248ca5f4fce88c03a76cc.png) 这是信息公开内容管理系统 [<img src="https://images.seebug.org/upload/201503/12190717fcb719cb91a3fd785cf00cccba12980b.png" alt="jcms.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/12190717fcb719cb91a3fd785cf00cccba12980b.png) 这是jcms网站群,用户名和密码都是存储在同一张表中MERP_PUB_USER 每个政府单位都可以通过自己的账号来登录网站群,来发布政府信息。一旦被恶意利用,后果可以参考 14年宁波某政府单位网站被黑事件。 ``` if ((("0".equals(pwd_encrypt)) && (!password.equals(entity .getVc_password()))) || ( ("1".equals(pwd_encrypt)) && (!password.equals(entity .getVc_password_md5())))) ``` password为用户输入的口令; entity.getVc_password()) 会从数据库中获取口令解密后,和password进行对比; entity1.setVc_password(md5decode(entity1.getVc_password())); 这里先将数据库中的口令密文,存储到entity1结构中,使用md5decode解密,解密后再次存储到entity1结构中,这时的password字段已经是解密后的密码明文了。 到这里可以断定 md5decode 就是解密方式了,进行跟踪,存在自定义MD5类,实现md5encrypt和md5decode函数,使用了salt_key,实现口令加密和解密。这里使用了可逆的算法进行加解密,只要黑客将md5decode函数构造出来就可以批量进行密码解密了。都知道md5不安全,这种加密算法还不如md5... 编程实现批量解密。 [<img src="https://images.seebug.org/upload/201503/12191723db20ab615a0d7e72104d7b3fb6bef8ae.png" alt="2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/12191723db20ab615a0d7e72104d7b3fb6bef8ae.png) 返回结果 [<img src="https://images.seebug.org/upload/201503/12191506a62b90657f85d7d06e04c300ad0e79e7.png" alt="3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/12191506a62b90657f85d7d06e04c300ad0e79e7.png) 试了试其中某个用户的口令,找到他注册时使用的邮箱地址,竟然成功登录其126邮箱了。囧 ### 漏洞证明: 编程实现批量解密。 [<img src="https://images.seebug.org/upload/201503/12191723db20ab615a0d7e72104d7b3fb6bef8ae.png" alt="2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/12191723db20ab615a0d7e72104d7b3fb6bef8ae.png) 返回结果 [<img src="https://images.seebug.org/upload/201503/12191506a62b90657f85d7d06e04c300ad0e79e7.png" alt="3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/12191506a62b90657f85d7d06e04c300ad0e79e7.png)