[漏洞分析]某远OA后台表单导入任意文件写入漏洞

admin 2024年10月16日18:09:47评论17 views字数 940阅读3分8秒阅读模式

免责声明

本公众号所发布的所有内容,包括但不限于信息、工具、项目以及文章,均旨在提供学习与研究之用。所有工具安全性自测。如因此产生的一切不良后果与文章作者和本公众号无关。如有涉及公司与个人敏感信息,侵权烦请告知,我们会立即删除并致歉。

补丁分析

https://service.seeyon.com/patchtools/tp.html#/patchList?type=安全补丁&id=178

从官方下载补丁后,发现打补丁文件为com.xxx.xxx.form.util.CapUtil.class,将该文件与源文件进行对比分析后,发现其writeFile方法中新增加了对路径和文件后缀的校验,由此推断漏洞点在writeFile方法。

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

writeFile方法传入3个参数,分别是文件目录、文件名、文件内容,打补丁前未对路径和文件后缀进行校验。

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

漏洞分析

搜索调用CapUtil.writeFile方法的地方,发现在CAP4FormDesignManagerImpl类的generateInfopath方法中调用了,且这个方法传入的参数也未进行过滤。

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

这个方法接受一个Map参数,检测是否包含files键,files是一个列表,遍历files列表,列表中的 fileName就是文件名, fileContent就是文件内容。

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

CAP4FormDesignManagerImpl类是会在beanCacheMap中缓存好的对象,其对应的名字是cap4FormDesignManager。

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

通过ajax.do来调用:ajax.do?method=ajaxAction&managerName=cap4FormDesignManager&managerMethod=generateInfopath

这里还需要注意的是,调用generateInfopath方法是有权限限制的,登录后的用户需要有公文管理员或表单管理员权限。

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

漏洞利用

关注回复“20241016”获取POC。

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

[漏洞分析]某远OA后台表单导入任意文件写入漏洞

漏洞修复

更新补丁:https://service.seeyon.com/patchtools/tp.html#/patchList?type=安全补丁&id=178

原文始发于微信公众号(良月安全):[漏洞分析]某远OA后台表单导入任意文件写入漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月16日18:09:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [漏洞分析]某远OA后台表单导入任意文件写入漏洞https://cn-sec.com/archives/3275448.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息