### 简要描述:
这系统貌似还没有人提交getshell的.
### 详细说明:
有些国家部委也在用这系统, @南京大汉网络有限公司 你们看着办吧.
0x01 漏洞的文件
/lm/sys/opr_uploadimg.jsp
造成漏洞的部分代码
```
if(action.equals("upload")){
//构造上传类,传入上传的路径
CommonUploadFile upload = new CommonUploadFile( strDictionary);
upload.setM_nLimitsize(50); //设置文件总大小
upload.setM_nFilesize(10); //设置单个文件大小
upload.setM_filetype("gif"); //设置允许上传文件类型
//上传操作
boolean b = upload.uploadFile(request);
Convert c = new Convert();
//上传成功
if(b){
out.println("
上传成功!");
String[] files = upload.getAllFileName();
//打印文件名称
for (int i=0;i<files.length;i++){
String filename = files[i];
File file = new File(strDictionary + filename);
c.copyFile(strDictionary + filename,strDictionary_img+img);
}
}else{
out.println("
上传失败,请检查文件大小和文件类型是否正确!");
}
info += "<script>top.buttomFrame.right_frame.location.reload();</script>";
}
```
其实这段代码表面上看起来安全性还可以,通过
upload.setM_filetype("gif"); //设置允许上传文件类型
限制了只能上传gif格式的文件,然而该段代码却有一个严重的逻辑漏洞:
c.copyFile(strDictionary + filename,strDictionary_img+img);
将上传的gif文件通过copyFile函数copy 到strDictionary_img+img,来看看img参数是怎么来的
String img = request.getParameter("img");
很明显是用户提交的参数,那么用户提交img = XXXXX.jsp shell不就到手了
0x02 漏洞证明
打开http://www.xxxx.gov.cn//lm/sys/opr_uploadimg.jsp
上传任意gif文件,抓包修改img参数,如下
[<img src="https://images.seebug.org/upload/201409/28211840630faf6d4ec79282a0646be89ec651cc.jpg" alt="33.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/28211840630faf6d4ec79282a0646be89ec651cc.jpg)
点击GO,即可在images 目录下生成shell.jsp,可成功连接:
[<img src="https://images.seebug.org/upload/201409/28212053e78733d16914246b3967c853cc0f248f.jpg" alt="44.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/28212053e78733d16914246b3967c853cc0f248f.jpg)
### 漏洞证明:
成功获取到的shell
[<img src="https://images.seebug.org/upload/201409/28212053e78733d16914246b3967c853cc0f248f.jpg" alt="44.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/28212053e78733d16914246b3967c853cc0f248f.jpg)
暂无评论