Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-96349 — 针对 CVE-2026-96349 的 Python PoC 与批量利用工具,该漏洞是 WordPress SiteSkite 插件 ≤2.1.8 中的未认证 RCE,通过 API 密钥自动登录和 MCP PHP eval 实现。 | Kitploit
工具/GitHubGitHub/murrez/cve-2026-96349
侦察Payload生成漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试远程访问工具
GitHubmurrez/cve-2026-96349

CVE-2026-96349

针对 CVE-2026-96349 的 Python PoC 与批量利用工具,该漏洞是 WordPress SiteSkite 插件 ≤2.1.8 中的未认证 RCE,通过 API 密钥自动登录和 MCP PHP eval 实现。

查看仓库
11个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-96349 — WordPress SiteSkite ≤ 2.1.8 → 未认证 RCE 利用链

字段值
CVECVE-2026-96349
产品SiteSkite WordPress 插件
受影响版本≤ 2.1.8
修复版本2.2.0
CWECWE-94 — 代码生成控制不当
CVSS10.0(严重) — Patchstack 公告
PoCbit 目录https://pocbit.org/pocs/
PoCbit 页面https://pocbit.org/pocs/cve-2026-96349
验证标记POCBIT-96349-OK

Python PoC 采用与 CVE-2026-102425 相同的风格:交互式菜单、批量利用(默认)、--check、-u、--lab、线程池、hits.txt / exploited.txt。


此漏洞是什么

Patchstack 和 CVE Program 将 CVE-2026-96349 描述为 SiteSkite 插件中的未认证远程代码执行漏洞。公开文本有意保持简短;厂商修复版本 2.2.0(2026 年 9 月)大量涉及认证和自动登录。本仓库中对 2.1.8 与 2.2.0 的静态对比(extract-2.1.8/、extract-2.2.0/)展示了此 PoC 所实现的实用攻击面。

SiteSkite 是一个大型 WebOps 插件:备份、门户 API,以及站内 AI MCP(“abilities”),其中包括对攻击者提供的 PHP 调用 eval()(siteskite_execute_php)和任意文件写入(siteskite_write_file)的高级工具。当站点通过 SiteSkite API 密钥关联后,这些能力可通过 REST 和 admin-ajax.php 访问。

≤ 2.1.8 中的关键错误在于,同一个长期有效的 API 密钥同时充当未认证的 WordPress 管理员登录持有者:

  • AutoLoginController 在 /siteskite-autologin 上接受 ?token=<siteskite_api_key>,并通过 handle_token_login() 在任何包含 ?token=… 的前端 URL 上接受该参数。
  • 比较使用与 get_option('siteskite_api_key') 的普通相等判断(无门户签名、无一次性 nonce)。
  • 验证成功后,会为第一个管理员调用 wp_set_auth_cookie(),并可选择对 Solid Security 或类似插件绕过 2FA。

2.2.0 移除了此路径:原始 API 密钥持有者会被拒绝(hash_equals 检查、“Login Unavailable”),登录需要门户签发的签名链接(AutologinPortalSignature)。mu-plugin 安全核心不再认可旧版密钥登录。

从攻击者的角度来看,利用链如下:

  1. 获取受害者站点的 SiteSkite API 密钥(门户“Login as”链接、日志、referrer 泄露、被入侵的备份、内部人员或其他漏洞)。Patchstack 将此问题归类为未认证 RCE,因为不需要 WordPress 用户名/密码——只需要插件的持有者密钥,而该密钥经常在站外暴露。
  2. 可选地通过自动登录(/?token=KEY 或 /siteskite-autologin?token=KEY)证明管理员会话。
  3. 调用 POST /wp-json/siteskite/v1/abilities/execute(或 admin-ajax.php?action=siteskite_api),携带请求头 X-SiteSkite-Key: KEY,运行 siteskite_execute_php 或通过 siteskite_write_file 投放 up.php → POCBIT-96349-OK。

高级 MCP 工具在 2.1.8 中默认开启(McpSettings::DEFAULT_ADVANCED = '1'),因此许多已关联的站点在密钥已知后会暴露 eval。


受影响代码(参考)

组件2.1.8 行为2.2.0 变更
includes/Core/AutoLoginController.php?token= 等于存储的 API 密钥 → 管理员 cookie原始密钥被拒绝;仅限门户 HMAC 登录
includes/Mcp/Abilities/AdvancedAbilities.phpsiteskite_execute_php → eval($code)仍然存在;受认证 + 设置限制
includes/Mcp/AbilitiesRest.phpX-SiteSkite-Key → 执行 abilities相同接口;自动登录不再在无密钥时泄露会话
includes/API/FallbackAPI.phpwp_ajax_nopriv_siteskite_api 在密钥有效时代理 abilities仍然需要密钥 / 访客密钥

其他未认证的 REST 路由(UploadRest、OAuth 注册)存在,但需要令牌或 PKCE;它们不是此处建模的主要攻击链。


PoC 布局

文件作用
poc.pyCLI / 交互式 / 批量利用
_engine.pyHTTP 逻辑、PoCbit 元数据、实验服务器
up.php可选的 web shell 探测(?pocbit=1 → 标记)
targets.example.txtURL 列表;可选 URL<TAB>api_key
extract-2.1.8/ / extract-2.2.0/用于差异对比的厂商源码(运行 PoC 不需要)

要求

  • Python 3.10+
  • pip install requests colorama

用法(利用优先)

交互式(默认模式 = exploit)

python poc.py

提示词:mode、可选的全局 API key、目标文件、线程数(默认 16)、超时时间。

批量利用 → exploited.txt

python poc.py fofa_targets.txt
python poc.py urls.txt --key YOUR_SITESKITE_API_KEY
python poc.py urls.txt -t 24 -T 25

每个目标的键(URL 后跟制表符、空格或竖线):

https://customer.example	abc123…siteskiteKey…
https://other.site|anotherKey

环境回退:SITESKITE_API_KEY 或 SITESKITE_KEY。

批量检查 → hits.txt

python poc.py --check fofa_targets.txt

指纹:readme.txt Stable tag、旧版 /siteskite-autologin 缺失令牌响应、版本 ≤ 2.1.8。

单一目标

python poc.py -u https://target.example --check
python poc.py -u https://target.example --key SITE_SKITE_KEY

本地实验环境(无需安装 WordPress)

python poc.py --lab

在 127.0.0.1:8796 上启动带有伪造 readme 2.1.8、自动登录和 abilities 端点的服务;必须返回 "exploited": true。


利用流程(引擎)

flowchart LR
  A[Target URL] --> B{readme ≤ 2.1.8?}
  B -->|no| Z[skip / patched]
  B -->|yes| C{API key known?}
  C -->|no| N[needs_api_key]
  C -->|yes| D[POST abilities/execute]
  D --> E{siteskite_execute_php}
  E -->|marker| F[RCE verified]
  E -->|fail| G[autologin ?token=KEY]
  G --> D
  E -->|fail| H[write_file / ajax fallback]
  H --> F
  1. siteskite_execute_php,内容为 echo POCBIT-96349-OK;
  2. 通过 admin-ajax 回退路径执行相同操作(route=/abilities/execute)
  3. siteskite_write_file → wp-content/uploads/pocbit_96349.php
  4. eval 投放辅助文件 up.php
  5. 自动登录后重试 abilities

JSON 结果行包含 pocbit、pocbit_catalog、pocbit_page、CVE URL 以及用于日志管道的 verify_marker。


发现 / FOFA(检查模式)

示例(请根据你的索引器调整):

body="/wp-content/plugins/siteskite/"
header="siteskite" && body="wp-content/plugins"

检查模式不会暴力破解 API 密钥。利用模式需要一个密钥,除非你已从自己的门户或泄露情报中获得了 url\tkey 对。


缓解措施

  1. 立即将 SiteSkite 升级到 ≥ 2.2.0。
  2. 升级后轮换 SiteSkite API 密钥(旧密钥曾是登录 bearer)。
  3. 如果不需要 AI 编辑功能,请禁用未使用的 MCP / 高级工具。
  4. 阻止对 /siteskite-autologin 的外部访问,并审计日志中针对 ?token= / X-SiteSkite-Key 的滥用行为。
  5. Patchstack WAF 用户:在修补前启用厂商缓解规则。

法律

仅可在你拥有或已获得书面授权进行测试的系统上使用。未经授权的访问是非法的。


GitHub 仓库描述(复制/粘贴)

CVE-2026-96349 — WordPress SiteSkite plugin ≤2.1.8 unauthenticated RCE (CVSS 10.0, CWE-94). PoCbit mass-exploit PoC: legacy API-key autologin (?token=) + REST MCP siteskite_execute_php eval chain; fixed in 2.2.0. Check/exploit/mass bulk, hits.txt & exploited.txt, --lab self-test. Marker: POCBIT-96349-OK. Catalog: https://pocbit.org/pocs/cve-2026-96349
下载工具