环境配置
l 系统:Winserver2008
l 数据库:Oracle
l JDK:java 1.7
l 复现版本:yonyouNC6.5
源码分析
URL:uapim/upload/grouptemplet?groupid=test
对应的路径
com.yonyou.uapim.web.controller.UploadController.class
我们就只传入一个参数groupid,获取临时路径文件路径和真是文件路径;244行DiskFileItemFactory类的参数factory,245行设置缓存大小和临时存储位置;248行由于maxSize是null,所以直接进入252行try语句
252行try语句:创建了一个解析request对象items,得到所有上传项然后创建了一个迭代器进入dowhile语句,每迭代一个对象item,就调用其isFormField方法判断是否是上传文件。如果文件没有上传进入81行if语句:获得上传文件名filename和文件后缀名fileEnd;268行我们传入的fileType是null,所以到288行处。
288行:定义uuid的值为head,创建一个StringBuffer类的参数sbRealPath,将filePath真实路径+uuid作为文件名称+”.”+fileEnd后缀名;创建对应路径的文件对象file,根据filePath创建路径,upload上传文件
文件名是固定的head,没有对后缀进行过滤,但是上传的路径是不可控的,利用范围空间有限
漏洞复现
公众号:
刑天攻防实验室
扫码关注 了解更多内容
原文始发于微信公众号(刑天攻防实验室):Yonyou NC6.5 uapim文件上传漏洞分析复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论