确保隐藏字段不会暴露 nodejs 中的漏洞

ensure hidden field is not exposing vulnerability in nodejs

我有这个从 nodejs 呈现的隐藏表单字段:

<input type="hidden" name="currentUrl" value={currentUrl} />

此字段用于禁用 javascript 并且我需要知道在发布表单后 return 到哪个页面。

我正在使用 csruf 来尝试缓解任何问题。

如何防止黑客滥用 url?

在这种情况下,您应该担心打开重定向,这不是客户端问题。当您将此表单发送到您的服务器时,如果我理解正确,它将重定向到提供的 url。在重定向到它之前,您需要确保(在服务器上)url 指向您的应用程序(或允许的其他域)。如果用户可以发送任意 url 然后他被重定向,这就是一个漏洞。验证 url 的一种方法是使用 URL 处理它并检查主机。

XSS 也可能是一个问题,但我认为编写 {currentUrl}.

的模板引擎应该已经缓解了这个问题