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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-22710 — PoC of CVE-2025-22710 | Kitploit
工具/GitHubGitHub/dottak/cve-2025-22710
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubdottak/cve-2025-22710

CVE-2025-22710

PoC of CVE-2025-22710

查看仓库
21年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-22710

1️⃣ 组件类型

WordPress 插件

2️⃣ 组件详情

Component name WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager

Vulnerable version <= 8.50.0

Component slug smart-manager-for-wp-e-commerce

Component link https://wordpress.org/plugins/smart-manager-for-wp-e-commerce/

3️⃣ OWASP 2017:十大

Vulnerability class A3:注入

Vulnerability type SQL 注入

4️⃣ 前置条件

管理员

5️⃣ 漏洞详情

👉 简要描述

WooCommerce Advanced Bulk Edit Products, Orders, Coupons, Any WordPress Post Type – Smart Manager(以下简称 Smart Manager)插件是一款允许批量编辑和查看 WordPress 中所有文章类型的插件。

在 Smart Manager 插件 8.50.0 及更低版本中,使用高级搜索功能查看文章时,由于过滤值在未经过转义处理的情况下传递给数据库查询,导致存在 SQL 注入漏洞。

然而,虽然无法在屏幕上直接看到 SQL 注入攻击的结果,但可以通过真假条件响应值的差异实现盲 SQL 注入。

👉 复现步骤(PoC)

⚠️ 必须至少存在一篇文章,才能观察到基于真假条件的响应值差异。

  1. 准备一个安装了 Smart Manager 插件的 WordPress 站点,使用管理员账户登录,然后导航到 Smart Manager 插件的仪表盘页面(/wp-admin/admin.php?page=smart-manager)。

image

  1. 点击搜索栏右侧的“高级搜索”复选框,打开高级搜索窗口。

image

  1. 在高级搜索筛选中,选择“文章标题”和“等于”,然后在文本输入框中输入 payload ' OR 1=1 )) #。之后,点击顶部的搜索按钮。

image

  1. 检查搜索结果时,由于 payload 的条件始终为真(OR 1=1),所有文章都被检索出来。

image

  1. 另一方面,如果在高级搜索筛选中选择“文章标题”和“等于”,并在文本输入框中输入 ' OR 1=2 )) #,由于条件始终为假(OR 1=2),将无法检索到任何文章。

image

image

👉 附加信息(可选)

[漏洞成因]

执行上述 PoC 描述中的“高级搜索”功能时,会生成以下数据包,高级搜索中输入的过滤值(文章标题、等于、' OR 1=1 )) #)被输入到请求数据 advanced_search_query 中。

root@kitploit:~
advanced_search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]

image

当请求此数据包时,会调用 /wp-content/plugins/smart-manager-for-wp-e-commerce/classes/class-smart-manager-base.php 文件中的 get_data_model 函数,并按照以下顺序执行数据库查询。

  1. 如果请求数据 advanced_search_query 存在,则调用 process_search_cond 函数。此时,请求数据 advanced_search_query 被传递给键值对参数中键为 search_query 的值。

    root@kitploit:~
    search_query=[{"condition":"OR","rules":[{"condition":"AND","rules":[{"type":"wp_posts.post_title","operator":"is","value":"' OR 1=1 )) #"}]}]}]
    

    image

  2. 被调用的函数 process_search_cond 遍历键为 search_query 的值,将过滤值“文章标题(post_title)”初始化为变量 $search_col,并将包含 SQL 注入 payload 的过滤值 ' OR 1=1 )) # 初始化为变量 $search_value。

    image

在高级搜索功能中,用户输入(' OR 1=1 )) #)在未经过转义处理的情况下直接被包含在数据库查询中,导致存在 SQL 注入漏洞。此漏洞使攻击者能够执行任意 SQL 查询,可能导致泄露或篡改数据库中的敏感信息等严重安全风险。

[PoC 代码实现与执行]

⚠️ PoC 代码实现通过利用 SQL 注入漏洞查询数据库名称。

  1. 在编辑器中打开 PoC 代码,输入 WordPress 站点地址和管理员凭据。

    image

  2. 然后输入以下命令运行 PoC 代码。

    必需模块requests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ 利用演示

video

7️⃣ 参考资料

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22710
下载工具

变量 $search_col 和 $search_value 分别被传递给 $search_params 数组的键 search_col(=post_title)和 search_value(=' OR 1=1 )) #)。随后,此 $search_params 变量作为键为 search_params 的值传递给函数 create_flat_table_search_query。

image

  • 接着,create_flat_table_search_query 函数定义 SQL 查询的 WHERE 子句,此时,作为参数传递的键 search_params 的值 search_value(=' OR 1=1 )) #)在未经过任何转义处理的情况下被包含在 WHERE 子句中。

    image

  • 然后,函数 create_flat_table_search_query 的返回值(包含 SQL 注入 payload)作为参数传递给函数 process_flat_table_search_query。

    image

  • 函数 process_flat_table_search_query 使用接收到的参数构建数据库查询,初始化变量 $select、$from 和 $where。此处可以看到,SQL 注入 payload 未经任何验证就直接传递给变量 $where。

    image

  • 变量 $select、$from、$where 被直接赋值给变量 $query_posts_search,该变量最终作为参数传递给执行数据库查询的函数。

    image