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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-48908-PoC — Unauthenticated RCE PoC for CVE-2026-48908 — SP Page Builder for Joomla (≤ 6.6.1):通过 asset.uploadCustomIcon 进行任意文件上传。自清理,令牌保护。仅授权测试。 | Kitploit
工具/GitHubGitHub/papageo75/cve-2026-48908-poc
Payload生成漏洞分析代码分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育
GitHubpapageo75/cve-2026-48908-poc

CVE-2026-48908-PoC

Unauthenticated RCE PoC for CVE-2026-48908 — SP Page Builder for Joomla (≤ 6.6.1):通过 asset.uploadCustomIcon 进行任意文件上传。自清理,令牌保护。仅授权测试。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-48908 — SP Page Builder(Joomla)未认证RCE

针对CVE-2026-48908的概念验证利用代码,这是一个严重的(CVSS 4.0 = 10.0)未认证远程代码执行漏洞,存在于JoomShaper开发的SP Page Builder组件(com_sppagebuilder)中,适用于Joomla。

CVECVE-2026-48908
弱点CWE-284 访问控制不当 → 未认证的任意文件上传 → RCE
组件SP Page Builder(com_sppagebuilder)for Joomla
受影响版本1.0.0 – 6.6.1
修复版本6.6.2
所需权限无(预认证)
用户交互无

描述

SP Page Builder 暴露了控制器任务 asset.uploadCustomIcon 来处理自定义图标字体包的上传:

root@kitploit:~
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon

在受影响版本中,该任务无需认证且无需有效的反CSRF令牌即可访问。它接受一个 ZIP 压缩包(多部分字段 custom_icon),并将其内容解压到文档根目录下一个公开可访问的 Web 目录中:

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<name>/   (包含 fonts/ 子目录)

由于上传在预认证状态下可访问,且解压后的文件位于 Web 根目录,攻击者可以将攻击者控制的文件写入可浏览的位置,并通过 HTTP 访问它们。

尽管有扩展名过滤器仍能实现代码执行

某些构建版本对归档条目添加了服务器端文件名过滤器。此 PoC 通过三步链绕过常见的过滤器实现:

  1. 大小写敏感的黑名单。 过滤器拒绝小写的 .php、.phtml、.phar、.php3–.php8、.pht、.inc … 但它不进行大小写规范化,因此 .PHP(以及其他大小写混合的变体)和 .htaccess 可以通过。
  2. 大小写敏感的 Web 服务器处理器。 默认的 Apache PHP 处理器(<FilesMatch "\.php$">)仅执行小写的 .php,因此上传的 .PHP 最初会以源代码文本形式提供,不会被运行。
  3. .htaccess 覆盖。 一个包含 AddType application/x-httpd-php .PHP 的 (黑名单同样遗漏了它)与有效载荷一同放置。在允许 的情况下,这将把 注册为 PHP 处理器,上传的 shell 。

PoC 总是打包一个有效的图标字体结构(selection.json、style.css、fonts/<name>.ttf),以便上传被接受,然后添加 shell。

自适应 — 它会遍历一个 PHP 可执行扩展名列表(占用资源最少的优先),然后尝试 .htaccess 后备方案,并在第一个实际运行代码的方法处停止:

  1. 直接单一文件上传 — 对于 php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php 每个扩展名,上传 fonts/<shell>.<ext>。无 .htaccess。 不同版本的 SP Page Builder 过滤器会阻止不同的扩展名集合,不同的 Apache 配置会执行不同的扩展名——因此此方法会找出目标允许且能运行代码的组合。
  2. fonts/.htaccess + fonts/<shell>.PHP(后备) — 仅在每次直接尝试都失败的情况下使用。丢弃的 .htaccess(AddType … .PHP)会强制大写 .PHP 在 AllowOverride 允许的地方执行(这就是 5.4.6 风格的主机所需要的)。

它在第一个执行方法处停止并打印哪个方法生效。每个被接受的上传都会被跟踪,因此 --cleanup 会移除所有上传的内容(多次尝试可能会留下只写目录)。

根据版本和服务器加固情况,结果有所不同,PoC 会明确说明结果(详见下面的结果部分):完全 RCE、仅文件写入(PHP 禁用 / AllowOverride None)、已修补(仅管理员)、或不受影响。

要求

root@kitploit:~
pip install -r requirements.txt   # requests

用法

root@kitploit:~
# 确认漏洞并证明代码执行(运行 `id`)
python3 sppb_rce.py https://target.example

# 运行特定命令
python3 sppb_rce.py --url target.example -c "uname -a"

# 交互式伪shell
python3 sppb_rce.py https://target.example --shell

# 仅检查,不运行命令
python3 sppb_rce.py https://target.example --check

# 之后移除上传的有效负载目录
python3 sppb_rce.py https://target.example --cleanup

目标可以作为位置参数或通过 --url 提供,可以带或不带协议。

示例(已清理)

root@kitploit:~
[*] target   : https://target.example
[*] endpoint : index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
[*] try .php            -> rejected by filter
[*] try .php3           -> rejected by filter
...
[*] try .PHP            -> uploaded, not executed
[*] try .htaccess+.PHP  -> EXECUTED
[+] CODE EXECUTION CONFIRMED via '.htaccess+.PHP' (echo 7*6 -> 42)
[*] running: id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
------------------------------------------------------------
[*] cleanup: done (4 dirs)

结果(及退出码)

PoC 始终会告知您目标的判定:

安全特性

  • 丢弃的 Web shell 受随机每运行令牌保护,没有令牌的任何人会收到 404 响应——它不是公开的后门。
  • --cleanup 会删除它创建的 payload 目录。
  • 默认操作是良性的(id,一个算术标记)。

修复方案

  1. 将 SP Page Builder 升级到 6.6.2 或更高版本(为上传任务添加了身份验证、授权和 CSRF 检查)。这是主要修复方法。
  2. Web 服务器的深度防御:
    • 通过 FPM 池或 php_admin_flag engine off 禁用上传目录(/media/、/images/、/tmp)中的 PHP 执行。
    • 在这些目录上设置 AllowOverride None,这样丢弃的 .htaccess 无法重新启用处理器。
    • 使用大小写不敏感的白名单来限制上传扩展名,绝不要使用黑名单。
  3. 假设已遭入侵的审查:检查 media/.../iconfont/ 下是否存在意外的 .php/.PHP、新的超级用户账户以及植入的文件管理器。

参考

  • NVD — CVE-2026-48908
  • CVE.org 记录 — CVE-2026-48908
  • 技术文章 — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • 厂商 — JoomShaper SP Page Builder(6.6.2 中的安全修复)
  • SP Page Builder — Joomla 扩展目录

关键词

Joomla SP Page Builder 利用 · com_sppagebuilder 未认证 RCE · CVE-2026-48908 PoC · asset.uploadCustomIcon 任意文件上传 · Joomla 远程代码执行 · 渗透测试利用脚本。

免责声明

本软件仅用于教育目的和授权安全测试——例如您已获得书面许可的渗透测试、包含目标范围内的漏洞奖励计划、CTF 竞赛以及您自己的实验系统。

未经授权访问、修改或破坏计算机系统在大多数司法管辖区是非法的。您对自身行为承担全部和唯一的责任。 通过使用、下载或分发此代码,您同意:

  • 您将仅针对您拥有或已获得明确、书面许可进行测试的系统使用它;
  • 作者和贡献者对因使用或误用此代码而产生的任何损害、数据丢失、服务中断或法律后果不承担任何责任;
  • 此材料按“现状”提供,不附带任何明示或暗示的担保。

如果您不同意这些条款,请不要使用本软件。与任何公开可用的利用/PoC 一样,它基于善意共享,以帮助防御者检测、理解和修复漏洞;您如何使用它是您的责任。

许可协议

MIT — 请参阅 LICENSE。

下载工具
.htaccess
AllowOverride
.PHP
得以执行
输出含义退出码
CODE EXECUTION CONFIRMED via '<method>'存在漏洞 — 完全未认证 RCE0
[~] PARTIALLY VULNERABLE — unauth file-write works, but PHP did NOT execute仅文件写入(AllowOverride None / PHP 在 /media 中禁用)3
[-] TARGET NOT VULNERABLE — SP Page Builder is patched (6.6.2+)已修补 — 上传现在需要管理员认证1
[-] TARGET NOT VULNERABLE — every upload was rejected, or SP Page Builder is absent/patched无法利用 / 组件不存在2