漏洞原理
漏洞原理很简单,解压缩穿越目录,其实这个漏洞利用手法在前几个月就被修复,前几天被爆出依然是相同手法。再次被修复
漏洞分析
直入正题
getService 没啥看的就是将 user还有具体由哪个执行器类放入上下文,这里的User可以为空不影响后面的执行逻辑,不会报空指针异常,这里师傅各自展现神通
重点是getImportType 进入到具体执行器中 这里的params 是对request请求参数的一次封装,我们可控
getInputStreamById 大致意思是获取 从数据库中获取到文件的绝对路径读取后返回InputStream类
看到这里绝大部分师傅都应该懂了,对获取到的文件流进行解压
这个函数全程都没有任何的过滤,直接制作一个可穿越目录的压缩包,就可以上传师傅想上传的任何后缀文件到任意目录
当然前提是可以上传一个zip压缩包,zip在泛微很多处都可以上传,这里提供一个路由 随便找一个,返回文件id
tips:师傅们制作压缩包最好用Java
解压
修复
泛微历来的手法,拦截路由,并查看压缩包中是否有穿越路径,jsp等违规字符,如果有 返回404,记录日志。
修复手法比较拙劣,治标不治本
补充
这个为后台的漏洞,需要普通账号,但是泛微的鉴权机制还存在各种问题,后面可以单出一篇文章进行分析
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论