阅读有关JWT的文章时,我附带了一个非常有趣的主题,如果jwt令牌在与wordpress一起使用时没有得到适当的安全保护,那么它就是jwt令牌的漏洞。
因此,问题是将令牌存储在cookie中将使其容易受到XSS或CSRF攻击,但是wp-api-jwt-auth的文档表示:
获得令牌后,必须将其存储在应用程序的某个位置,例如在cookie中或使用本地存储。
这是正确的吗?它不是很脆弱吗?
发布于 2019-01-27 01:32:03
当存储在客户端机器上时,您的会话/auth令牌总是暴露在一定程度的风险中.例如,如果您对此人的浏览器具有物理访问权限,并且它们已登录到服务中,则可以使用browser developer工具查看其所有cookie和本地存储键/值内容。
HTTP-只有Cookies和Local本质上并不不安全,但是如果您的网站上有其他可利用的功能,则会很容易受到攻击。
所以你可以做些事情来减轻风险.
短暂的会话令牌将通过减少攻击者利用被盗令牌的时间来帮助减少被盗令牌所固有的风险。他们能利用偷来的令牌的时间越少,越好。
为了保护您的令牌不受跨站点脚本(XSS)作为cookie的影响,请将cookie设置为HTTP,以便浏览器不允许JavaScript读取cookie。这是cookie标头本身上设置的属性。
XSS攻击对于本地存储来说有点棘手。本地存储和cookie都受到保护,只允许访问从同一域加载的代码。因此,如果脚本注入来自本地存储值所在的相同域上加载的代码,那么它可能容易受到攻击。
您可以通过仔细管理功能代码和用户生成的内容负载的位置来帮助保护cookie和本地存储,但这是一种相当先进的技术。这需要仔细考虑。
跨站点请求伪造(CSRF)攻击不应公开本地存储值,而是可以公开受cookie值保护的内容。
CSRF通过在攻击者的页面上从您的域加载内容来工作。通过正确配置您的网站,跨源资源共享(CORS)将有助于保护通常处于CSRF攻击风险的内容/操作。不过,CORS并不是可以防止愚昧的。因此,通常最好使用更强的缓解措施,如CSRF令牌。
https://security.stackexchange.com/questions/202254
复制相似问题