美文网首页网络安全Web安全分析
致远A8 OA系统任意文件上传getshell漏洞分析报告

致远A8 OA系统任意文件上传getshell漏洞分析报告

作者: 清水川崎 | 来源:发表于2019-06-28 14:08 被阅读512次

    漏洞影响范围

    致远OA A8-V5 V6.1 SP1
    致远OA A8+协同管理软件 V7.0
    致远OA A8+协同管理软件 V7.0 SP1
    致远OA A8+协同管理软件 V7.0 SP2
    致远OA A8+协同管理软件 V7.0 SP3
    致远OA A8+协同管理软件 V7.1

    漏洞分析

    根据在野利用的poc,可清楚得知漏洞触发点为seeyon文件夹下的htmlofficeservlet


    /seeyon/htmlofficeservlet

    通过源代码进行寻找jar包分析

    寻找jar包
    发现htmlofficeservlet存在于seeyon-apps-common.jar,完整路径为com.seeyon.ctp.common.office.HtmlOfficeServlet.class
    查看代码可发现OPTION参数与FILENAME参数结合可以使文件路径由用户控制,使得后台处理时导致任意文件上传 HtmlOfficeServlet.class

    根据在野利用poc进行进一步分析


    FILENAME

    可以发现FILENAME的值为某种加密方式,该加密方式由msgObj对象进行调用

    msgObj对象

    进入该对象,发现该对象是由iMsgServer2000类创建

    iMsgServer2000

    并在其方法中发现解密算法

    解密算法 解密算法

    编写加解密脚本

    调用DBstep.jar中的iMsgServer2000类的DecodeBase64、EncodeBase64方法即可

    解密

    加密同样调用方法即可

    加密

    webshell分析

    在野利用poc直接将其webshell源代码写到了报文中

    webshell源代码

    仔细观察报文POST DATA头部参数,可发现355参数值控制写入源码时,从报文中什么地方读取,而666参数值控制了webshell源代码内容大小。这也就是为什么有人改了filename以及webshell源码以后,poc失效的原因。因为头部的两个参数值需要根据改动同时进行调整。

    POST DATA头部参数

    处置建议

    • 1.致远官方已发布补丁,请联系官方安装相应补丁
    • 2.禁止/seeyon/htmlofficeservlet访问

    鸣谢

    Bearcat

    转载注意事项

    本文为北京国舜科技股份有限公司——毕加索实验室独家分析报告,如有转载请联系北京国舜科技股份有限公司——毕加索实验室。如有侵权,我司必将追究其法律责任。

    相关文章

      网友评论

        本文标题:致远A8 OA系统任意文件上传getshell漏洞分析报告

        本文链接:https://www.haomeiwen.com/subject/yqmscctx.html