首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么JWT Wordpress插件推荐将令牌存储在cookie/localstorage中?

为什么JWT Wordpress插件推荐将令牌存储在cookie/localstorage中?
EN

Security用户
提问于 2019-01-26 23:16:18
回答 1查看 752关注 0票数 0

阅读有关JWT的文章时,我附带了一个非常有趣的主题,如果jwt令牌在与wordpress一起使用时没有得到适当的安全保护,那么它就是jwt令牌的漏洞。

因此,问题是将令牌存储在cookie中将使其容易受到XSS或CSRF攻击,但是wp-api-jwt-auth的文档表示:

获得令牌后,必须将其存储在应用程序的某个位置,例如在cookie中或使用本地存储。

这是正确的吗?它不是很脆弱吗?

EN

回答 1

Security用户

回答已采纳

发布于 2019-01-27 01:32:03

当存储在客户端机器上时,您的会话/auth令牌总是暴露在一定程度的风险中.例如,如果您对此人的浏览器具有物理访问权限,并且它们已登录到服务中,则可以使用browser developer工具查看其所有cookie和本地存储键/值内容。

HTTP-只有Cookies和Local本质上并不不安全,但是如果您的网站上有其他可利用的功能,则会很容易受到攻击。

所以你可以做些事情来减轻风险.

短命令牌

短暂的会话令牌将通过减少攻击者利用被盗令牌的时间来帮助减少被盗令牌所固有的风险。他们能利用偷来的令牌的时间越少,越好。

XSS

为了保护您的令牌不受跨站点脚本(XSS)作为cookie的影响,请将cookie设置为HTTP,以便浏览器不允许JavaScript读取cookie。这是cookie标头本身上设置的属性。

XSS攻击对于本地存储来说有点棘手。本地存储和cookie都受到保护,只允许访问从同一域加载的代码。因此,如果脚本注入来自本地存储值所在的相同域上加载的代码,那么它可能容易受到攻击。

您可以通过仔细管理功能代码和用户生成的内容负载的位置来帮助保护cookie和本地存储,但这是一种相当先进的技术。这需要仔细考虑。

CSRF

跨站点请求伪造(CSRF)攻击不应公开本地存储值,而是可以公开受cookie值保护的内容。

CSRF通过在攻击者的页面上从您的域加载内容来工作。通过正确配置您的网站,跨源资源共享(CORS)将有助于保护通常处于CSRF攻击风险的内容/操作。不过,CORS并不是可以防止愚昧的。因此,通常最好使用更强的缓解措施,如CSRF令牌。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/202254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档