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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-1056-POC — # Snow Monkey Forms <= 12.0.3 - 未经验证的任意文件删除(通过路径遍历)(CVE-2026-1056) | Kitploit
工具/GitHubGitHub/ch4r0nn/cve-2026-1056-poc
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试
GitHubch4r0nn/cve-2026-1056-poc

CVE-2026-1056-POC

# Snow Monkey Forms <= 12.0.3 - 未经验证的任意文件删除(通过路径遍历)(CVE-2026-1056)

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-1056-POC

Snow Monkey Forms - 未认证任意文件删除 PoC

本仓库包含针对 Snow Monkey Forms WordPress 插件(版本 <= 12.0.3)中一个严重漏洞的概念验证(PoC)。该漏洞允许未认证攻击者通过路径遍历删除服务器上的任意文件。

参考: Sarawut Poolkhet (MisterHelloz)

漏洞详情

  • 类型: 任意文件删除 / 路径遍历
  • 组件: Snow_Monkey\Plugin\Forms\App\Rest\Route\View.php
  • 方法: REST API(/wp-json/snow-monkey-form/v1/view)
  • 认证: 未认证

漏洞分析

1. 入口点与逻辑绕过

该漏洞位于 Snow_Monkey\Plugin\Forms\App\Rest\Route\View.php 中的 REST API 处理器内。 方法根据用户输入参数决定执行流程。

send()
root@kitploit:~
// 文件:App/Rest/Route/View.php

public function send() {
    Csrf::save_token();
    $method = Meta::get_method(); // 来源于 $_POST['snow-monkey-forms-meta']['method']

    // 漏洞:如果 'method' 为 'input',则绕过关键的 CSRF 检查。
    if ( 'input' === $method ) {
        return $this->_send(); // 直接执行流程到 _send()
    }

    // CSRF 检查仅对其他方法执行(例如 'confirm'、'complete')
    if ( ! Csrf::validate( Meta::get_token() ) ) { ... }

通过将 input 作为方法参数提供,攻击者强制应用程序立即执行 _send() 函数,跳过了旨在防止未授权操作的 Csrf::validate() 安全控制。

2. 路径遍历注入

在 _send() 方法内部,应用程序尝试对用户特定的临时目录执行清理例程。该例程依赖于 formid 参数。

root@kitploit:~
// 文件:App/Rest/Route/View.php -> _send()

// 'form_id' 通过 Meta 类直接从 POST 数据获取,未经净化处理
$user_dirpath = Directory::generate_user_dirpath( $this->setting->get( 'form_id' ), false );

Directory::do_empty( $user_dirpath, true ); // 递归删除内容
Directory::remove( $user_dirpath );         // 删除目录本身

关键缺陷在于 Directory::generate_user_dirpath 构造路径的方式:

root@kitploit:~
// 文件:App/Model/Directory.php

public static function generate_user_dirpath( $form_id, $do_create_directory = true ) {
    $saved_token = Csrf::saved_token();
    // ... (存在 token 的正则检查,但未检查 form_id) ...

    $user_dir = path_join( static::get(), $saved_token );
    
    // 漏洞:$form_id 被直接追加。
    // WordPress 的 path_join() 不会解析或净化 '../' 序列。
    $user_dir = path_join( $user_dir, (string) $form_id ); 

    return $user_dir;
}

$form_id 变量被转换为字符串,但从未被验证为整数。这允许攻击者注入目录遍历字符(例如 ../../../../)。

使用方法

  • 查找版本 http://site-wordpress.com/wp-content/plugins/snow-monkey-forms/readme.txt

前提条件

  • Python 3.x
  • requests 库(pip install requests)

命令

root@kitploit:~
python exploit.py -u <TARGET_URL> -f <TRAVERSAL_PAYLOAD>
CVE-2026-1056-POC
下载工具