我正在对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 )
),
};
}数据存储在表单中的隐藏字段中,最终格式如下所示:
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攻击的线程,我还缺少什么呢?此外,如果你们有一些建议是欢迎的。谢谢。
发布于 2021-10-06 16:57:47
OWASP安全标准,顾名思义,只是对web应用程序的标准安全检查的汇编。事实上,npm审计命令检查过时的依赖关系或已知的问题。该命令不会即时完成审计。安全问题是从几个方面提出的,比如Node。
我觉得你应该试试像声纳这样的东西
这是一个很好的测试工具,你可以从那里开始
https://stackoverflow.com/questions/69335864
复制相似问题