浙大恩特CRM 通杀任意文件上传漏洞分析

admin 2024年2月14日23:27:32评论17 views字数 742阅读2分28秒阅读模式

首先看到这里是";.js"绕过了鉴权,造成了任意文件上传漏洞。

浙大恩特CRM 通杀任意文件上传漏洞分析

但是,这个系统既没用到tomcat也没用到spring,;.js依旧可以绕过,看来没那么简单,这就有意思了。

(心急的巨佬可以直接移步0x03、0x04,感觉枯燥、无聊的巨佬移步0x05)

0x01 文件上传漏洞点

路由待会说,先简单看一下上传点。

接收method参数(这个洞的姿势挺多的,关键还是看鉴权)选择loadfile方法。上传即可

浙大恩特CRM 通杀任意文件上传漏洞分析

浙大恩特CRM 通杀任意文件上传漏洞分析

0x02 鉴权分析

接下来需要找到系统的鉴权是怎么做的

web.xml中有一个Filter,而且是全局的。浙大恩特CRM 通杀任意文件上传漏洞分析

就是找PurFilter.class就行了,这里发现一个好玩的。listExpUrl是不做鉴权的,相当于白名单,上一代目文件上传漏洞路径就在这个里面(草率了),官方也是直接删除该文件修复漏洞)

浙大恩特CRM 通杀任意文件上传漏洞分析

0x03 ".js"的作用

下面这段代码就是说从getRequestUrl中获取到的路径中的最后一个"."再到后面的字符就作为后缀。    

浙大恩特CRM 通杀任意文件上传漏洞分析

然后contains匹配在白名单里面即可鉴权放过。

浙大恩特CRM 通杀任意文件上传漏洞分析

浙大恩特CRM 通杀任意文件上传漏洞分析

可是问题来了,".js"是可以绕过鉴权了,那为什么还多加一个";"号?这个";.js"对路由为什么又没影响呢?

0x04 ";.js"的作用

直接上图

浙大恩特CRM 通杀任意文件上传漏洞分析

整体看下来就是,这个CustomerAction.entphone路径是正则匹配出来后再加入路由。";.js"并不会影响到路由。如果没用fuzz,看代码绕过的,确实绕的很漂亮。

0x05 总结

如果对照代码顺着整个文章思路看下来,会发现还有一个非常非常明显的,和这个漏洞不是一个类型且不会被该漏洞影响修复的鉴权绕过方法(又是RCE了?轻点,不值钱了)。

写的不好,写的错误的地方,欢迎巨佬留言交流。

原文始发于微信公众号(星期天不睡懒觉):浙大恩特CRM 通杀任意文件上传漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月14日23:27:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浙大恩特CRM 通杀任意文件上传漏洞分析https://cn-sec.com/archives/2493216.html

发表评论

匿名网友 填写信息