### 简要描述: 先祝大家马年吉祥! 说会到JIS,原本以为后台是限制得很死的,无法上传jsp,但是研究了下发现不是这样的……另外还有两处越权,打包发了。 ### 详细说明: 后台文件上传,顾名思义还是需要有管理员的账户,或者确切的说,是需要有“有新建应用权限的账户”。这里用管理员权限来说明。 先看应用管理——新建 [<img src="https://images.seebug.org/upload/201401/300223274880461a257e5a2658e33221e9a9cb15.png" alt="image057.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/300223274880461a257e5a2658e33221e9a9cb15.png) 直接看opr_application.jsp文件: ``` if(strFileName.toLowerCase().endsWith("gif") || strFileName.toLowerCase().endsWith("jpg")){//cmd.jsp(00)gif轻松过if file = new File( strLoadPath + "/tmp/" + strFileName); int m = strFileName.lastIndexOf("."); strFileName = upload.getFormValue("vc_appmark")+(strFileName.substring(m,strFileName.length()));//cmd.jsp(00)gif,jsp(00)gif获取到了,写文件就截断了都。 fileNew = new File( strLoadPath + "/apppic/"+strFileName); if(fileNew.exists()) fileNew.delete(); file.renameTo(fileNew); bulidminpic.setNWidth(85); boolean bl = bulidminpic.buildMiniature(strLoadPath +...
### 简要描述: 先祝大家马年吉祥! 说会到JIS,原本以为后台是限制得很死的,无法上传jsp,但是研究了下发现不是这样的……另外还有两处越权,打包发了。 ### 详细说明: 后台文件上传,顾名思义还是需要有管理员的账户,或者确切的说,是需要有“有新建应用权限的账户”。这里用管理员权限来说明。 先看应用管理——新建 [<img src="https://images.seebug.org/upload/201401/300223274880461a257e5a2658e33221e9a9cb15.png" alt="image057.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/300223274880461a257e5a2658e33221e9a9cb15.png) 直接看opr_application.jsp文件: ``` if(strFileName.toLowerCase().endsWith("gif") || strFileName.toLowerCase().endsWith("jpg")){//cmd.jsp(00)gif轻松过if file = new File( strLoadPath + "/tmp/" + strFileName); int m = strFileName.lastIndexOf("."); strFileName = upload.getFormValue("vc_appmark")+(strFileName.substring(m,strFileName.length()));//cmd.jsp(00)gif,jsp(00)gif获取到了,写文件就截断了都。 fileNew = new File( strLoadPath + "/apppic/"+strFileName); if(fileNew.exists()) fileNew.delete(); file.renameTo(fileNew); bulidminpic.setNWidth(85); boolean bl = bulidminpic.buildMiniature(strLoadPath + "/apppic/"+strFileName); ``` 以上有两个傻逼地方: 1.用了endsWith(我00截断的话你只有这货肯定不行) 2.没有重命名(随机数化) 上传的时候文件名改为cmd.jsp(00)gif,中间的(00)就是00字节 [<img src="https://images.seebug.org/upload/201401/300227158bb0d55d920bde43f800777850830602.png" alt="image058.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/300227158bb0d55d920bde43f800777850830602.png) 看上图下面部分就知道地址会自己返回。.jsp后面部分已经被截断了 附上shell截图: [<img src="https://images.seebug.org/upload/201401/30022812d023e5c69992d6352f66890edd6dd454.png" alt="image060.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/30022812d023e5c69992d6352f66890edd6dd454.png) ### 漏洞证明: 这里说两个越权。 随意注册一个用户 登录后访问如下页面: http://management.ysx.gov.cn/jis/main/onlineuser.jsp? 可以直接看见当前登录的用户及对应的IP。 还有一个日志操作的: http://management.ysx.gov.cn/jis/manage/log/opr_export.jsp [<img src="https://images.seebug.org/upload/201401/30022932361bf372c5ffd96f044f7098d79f5c3e.png" alt="image053.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/30022932361bf372c5ffd96f044f7098d79f5c3e.png)