-
使用JWT实现无状态跨站请求伪造(CSRF)防护的electrode-csrf-jwt
资源介绍
电极无状态CSRF
一个电极插件,可在Electrode,Express,Hapi或Koa 2应用程序中使用启用无状态保护。
我们为什么需要这个模块?
保护是一项重要的安全功能,但是在没有后端会话持久性的系统中,验证非常棘手。 无状态CSRF支持解决了这一需求。
请参阅以获取在Hapi NodeJS服务器的Web应用程序中使用此示例的示例。
我们如何验证请求?
当恶意脚本发出可通过用户(受害者)浏览器执行有害操作的请求,并将用户特定的敏感数据附加到Cookie中时,CSRF攻击可能很严重。
为了防止这种情况,此模块使用的技术类似于CSRF ,并且依赖于浏览器的以下两个限制:
跨站点脚本无法读取/修改Cookie。
跨站点脚本无法设置标题。
依赖于以下事实:cookie中的唯一令牌必须与隐藏在表单提交字段中的令牌匹配。 由于XSS无法更改cookie,因此该检查可防止CSRF攻击。
请注意,第一个限制存在一些漏洞,因此不能完全确保双重提交cookie技术。 参见
双JWT CSRF令牌
为了与和,我们通过使用两个JWT令牌进行验证来扩展该技术。 Cookie中的一个令牌