使用 wordpress 插件存储 Json 值安全线程

Posted

技术标签:

【中文标题】使用 wordpress 插件存储 Json 值安全线程【英文标题】:Storing a Json value Security Threads using wordpress plugin 【发布时间】:2021-11-18 23:15:14 【问题描述】:

我正在对 OASP 最佳实践进行审计,我的目标是识别从前端发送数据直到将数据保存到数据库中发生的所有主要安全线程。

上下文。

Json 数据:它是一棵根据 UI 操作增长/减少的树,JSON 是为前端函数格式化的。

前端:自定义 UI,它在 JS 对象中生成团队成员列表并从中追加/删除,数据输入不存储在任何 html 元素中以防止 XSS,但不确定是否存在任何潜在的 XSS代码:

创建元素的函数:

const newTeam = 
        name,
        emoji,
        parent_id: parentTeamId,
        children: [],
    ;

    const newTree = insertTeam( newTeam );

将元素添加到嵌套组的功能:

export function insertTeam( team, root = tree ) 
    if ( root.id === team.parent_id ) 
        return 
            ...root,
            children: [
                ...root.children,
                
                    ...team,
                    // Using a simple time based ID for now.
                    id: `$ root.id -$ Date.now() `,
                ,
            ],
        ;
    
    return 
        ...root,
        children: root.children.map( ( childTree ) =>
            insertTeam( team, childTree )
        ),
    ;

数据存储在表单的隐藏字段中,最终格式如下:

Var_Dump
string(756) "\"id\":1,\"name\":\"MyCustomGroup.\",\"emoji\":\"????\",\"parent_id\":null,\"children\":[\"id\":2,\"name\":\"Food\",\"emoji\":\"????\",\"parent_id\":1,\"children\":[],\"id\":3,\"name\":\"Canine Therapy\",\"emoji\":\"????\",\"parent_id\":1,\"children\":[\"id\":5,\"name\":\"Games\",\"emoji\":\"????\",\"parent_id\":3,\"children\":[\"name\":\"rocket\",\"emoji\":\"????\",\"parent_id\":5,\"id\":\"5-1632455609334\",\"children\":[]]],\"name\":\"frog\",\"emoji\":\"????\",\"parent_id\":1,\"id\":\"1-1632456503102\",\"children\":[],\"name\":\"bear\",\"emoji\":\"????\",\"parent_id\":1,\"id\":\"1-1632456578430\",\"children\":[\"name\":\"a\",\"emoji\":\"a\",\"parent_id\":\"1-1632456578430\",\"children\":[],\"id\":\"1-1632456578430-1632665530415\"]]"

后端:后端是一个 Wordpress 插件,用于插入我正在使用的数据 $wpdb->insert 处理传递的字符串并用于清理/清理我正在使用的:

 wp_kses( $obj, array() )

我不是安全专家,但我可以检测 XSS 攻击的线程,我还缺少什么?另外,如果大家有什么建议也欢迎。谢谢。

【问题讨论】:

【参考方案1】:

OWASP 安全标准,顾名思义,只是 Web 应用程序安全检查标准的汇编。事实上,npm audit 命令检查过时的依赖项或已知问题。该命令不会即时完成审计。安全问题来自多个来源,例如 Node

我认为你应该尝试类似sonarqube

这是一个很棒的测试工具,你可以从那里开始

【讨论】:

以上是关于使用 wordpress 插件存储 Json 值安全线程的主要内容,如果未能解决你的问题,请参考以下文章

如何在不在线公开的情况下将文件存储在 Wordpress 插件中?

如何使用 php 在 WordPress 插件中回显 json 数据 [重复]

七牛镜像存储 WordPress 插件的使用

带有 wordpress json 插件的 Kendo UI Jsonp 示例

json WordPress插件的示例Composer文件。

WPOSS – WordPress阿里云对象存储OSS插件 网站图片分离加速