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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-2002-poc — CVE-2026-2002 writeup and Proof-of-concept | Kitploit
工具/GitHubGitHub/typedefabcd1234ntd/cve-2026-2002-poc
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationWeb SecurityLearning & Education
GitHubtypedefabcd1234ntd/cve-2026-2002-poc

CVE-2026-2002-poc

CVE-2026-2002 writeup and Proof-of-concept

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

概述

Forminator Forms – Contact Form, Payment Form & Custom Form Builder 插件(WordPress)在所有版本中(包括 1.50.2)存在存储型跨站脚本漏洞,该漏洞通过 form_name 参数触发,原因是输入清理和输出转义不足。这使得拥有管理员级别权限的认证攻击者能够在页面中注入任意 Web 脚本,当用户访问被注入的页面时脚本将执行。该插件允许管理员将表单管理权限授予较低级别的用户,因此订阅者等用户也有可能利用此漏洞。

根因

该根因需要对逻辑漏洞的敏锐意识: (位于文件 /fields/html.php 中的函数)

root@kitploit:~
public function markup( $field, $views_obj ) {
        $settings = $views_obj->model->settings;

        $html    = '';
        $label   = esc_html( self::get_property( 'field_label', $field ) );
        $id      = self::get_property( 'element_id', $field );
        $form_id = false;

        $html .= '<div class="forminator-field forminator-merge-tags" data-field="' . $id . '">';

        if ( $label ) {

            $html .= sprintf(
                '<label class="forminator-label">%s</label>',
                self::convert_markdown( $label )
            );
        }

            // Check if form_id exist.
        if ( isset( $settings['form_id'] ) ) {
            $form_id = $settings['form_id'];
        }

        // To allow iframes in content.
        add_filter( 'wp_kses_allowed_html', array( 'Forminator_Core', 'add_iframe_to_kses_allowed_html' ) );
        $content = wp_kses_post( self::get_property( 'variations', $field ) );  // root cause here
        remove_filter( 'wp_kses_allowed_html', array( 'Forminator_Core', 'add_iframe_to_kses_allowed_html' ) );

        $html .= forminator_replace_variables(
            $content,
            $form_id
        );

        $html .= '</div>';

        return $html;
    }

这里的代码使用了清理函数(wp_kses_post)来防止低权限用户的 XSS,但问题在于它在替换变量之前进行了清理。因此,拥有适当权限的攻击者可以利用有效的 HTML 标签绕过 wp_kses_post,并通过变量注入 JavaScript payload 来触发 XSS。

概念验证

具有编辑表单权限的攻击者可以在 HTML 字段中插入如下 HTML:

root@kitploit:~

然后将 form_name 更改为:

root@kitploit:~
javascript:alert(1) 或 javascript:<Payload>

严重性

分数严重性版本向量字符串
4.4中等3.1CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N

在我看来,这个漏洞尽管严重性不高,但需要对逻辑和代码审查具备敏锐意识,正如所见,仅仅两行代码之间的一个小错误就造成了漏洞。 poc

备注

如果你喜欢这类研究并希望支持更多深入挖掘,你可以捐赠并支持我。非常感谢你的贡献。

╰(°▽°)╯

下载工具