IPBUF安全漏洞报告
English
CVE-2022-50959 CVSS 6.1 中危

CVE-2022-50959 WordPress Contact Form Builder XSS漏洞

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2022-50959
漏洞类型
反射型跨站脚本 (XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
WordPress Contact Form Builder

相关标签

XSS反射型XSSWordPressWordPress PluginCVE-2022-50959Web安全

漏洞概述

WordPress Contact Form Builder插件存在反射型跨站脚本(XSS)漏洞,受影响版本包括1.6.1。由于插件在处理code_generator.php页面的form_id参数时缺乏严格的输入验证和输出编码,未经身份验证的攻击者可诱导受害者访问特制的恶意URL。一旦触发,攻击者便能在受害者浏览器中执行任意JavaScript代码,进而窃取Cookie、会话令牌或进行钓鱼攻击,对用户隐私和系统安全构成威胁。

技术细节

该漏洞源于WordPress Contact Form Builder插件中的`code_generator.php`文件处理用户输入时存在安全缺陷。具体而言,当服务器接收用户传递的`form_id`参数时,未对其进行严格的输入验证或HTML实体编码,直接将其嵌入到HTTP响应的HTML源码中返回。

攻击者利用此漏洞无需任何管理员权限(PR:N),仅需构造包含恶意JavaScript载荷的URL。例如,将`form_id`参数设置为`"><script>alert(document.cookie)</script>`。当未察觉的受害者点击该链接(UI:R)时,服务器会解析请求并将恶意脚本“反射”回受害者的浏览器。由于浏览器信任该服务器来源,便会执行其中的恶意代码。

这种反射型XSS漏洞允许攻击者利用受害者的身份上下文执行操作,如窃取Session ID、修改网页内容进行钓鱼或重定向至恶意站点,从而严重威胁用户的数据安全和隐私。

攻击链分析

STEP 1
1. 侦察与识别
攻击者识别目标网站正在使用WordPress Contact Form Builder插件,并确认其版本为1.6.1或更早。
STEP 2
2. 构造攻击载荷
攻击者利用漏洞细节,构造包含恶意JavaScript代码的URL,将载荷嵌入到`form_id`参数中。
STEP 3
3. 社会工程学投递
攻击者通过网络钓鱼邮件、论坛留言或其他方式,诱导受害者点击构造好的恶意链接。
STEP 4
4. 触发与执行
受害者点击链接后,浏览器向服务器发送请求。服务器未过滤参数直接反射回页面,受害者浏览器解析并执行恶意脚本。
STEP 5
5. 达成攻击目标
恶意代码执行成功,攻击者窃取受害者的Session Cookie、重定向页面或执行其他恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL path to the vulnerable file target_url = "http://target-site.com/wp-content/plugins/contact-forms-builder/code_generator.php" # Malicious payload attempting to execute JavaScript via the form_id parameter # Using a simple alert to confirm execution, could be replaced with cookie stealing payload = '"><script>alert(1)</script>' # Construct the full exploit URL exploit_url = f"{target_url}?form_id={payload}" print(f"Testing URL: {exploit_url}") try: # Send the request simulating a victim visiting the link response = requests.get(exploit_url) # Check if the payload is reflected in the response (unsanitized) if payload in response.text: print("[+] Vulnerability Confirmed: The payload was reflected in the response.") else: print("[-] Vulnerability Not Detected or Patched.") except Exception as e: print(f"Error connecting to target: {e}")

影响范围

WordPress Contact Form Builder <= 1.6.1

防御指南

临时缓解措施
在未升级插件前,建议暂时禁用Contact Form Builder插件以消除风险。同时,管理员应加强对用户的网络安全教育,提醒不要随意点击不明来源的链接。此外,可以通过配置内容安全策略(CSP)来限制脚本的执行来源,从而减轻XSS攻击的影响。

参考链接