用户输入验证

有人知道是否可以实现自定义的用户输入验证,特别是针对新用户、新管理员徽章和新用户字段吗?

在一次渗透测试后,我们发现这些区域存在 HTML 注入和其他恶意输入的漏洞,因此想知道是否有办法进一步验证这些输入以提高安全性(例如通过使用正则表达式或其他实现相同结果的方法)。

提前感谢!

是的,您或专业的 Discourse 插件开发者可以编写一个“相对简单”的插件,为模型添加验证功能。

也许您应该在 Marketplace 中发布您的请求?

哪些字段容易受到 HTML 注入攻击?

这正是我想问的。

希望他在告诉我们之前先私下告知开发者 :slight_smile:

Discourse 是否参与了一项计划,通过该计划为发现安全漏洞提供报酬?

确实如此:hackerone

感谢您的迅速回复!

受影响的参数如下:

用户创建:name、title、location、bio_raw

徽章:name、description、long_description

用户字段:name、description

我们属于社区成员,但不是工作人员。关于此事,您需要等待他们的回复。不过,鉴于团队对漏洞和安全问题的高度重视,以及采用了行业标准的框架,我建议在他们有时间回应之前,先保留判断。

这听起来似乎不需要您采取缓解措施,但同时也可能已经以某种方式得到了解决。

如果这些内容允许 HTML 注入,我会感到非常惊讶。请在此处通过编辑您的个人资料,用一个简单的示例来演示这一点。

欢迎来到 Meta @Cal :wave:

这些字段已进行清理/转义。此外,Discourse 默认启用了 CSP

这些字段同样经过清理。它们仅对管理员可访问,并且也启用了 CSP。

如果您发现了一个在 CSP 启用情况下仍存在的用户输入安全问题,我们很乐意在 此处 听取您的反馈。