JWT在我的项目中用作用户身份验证。如果有人拦截数据包(使用wireshark等),获取用户的jwt令牌,然后尝试使用jwt令牌(重放攻击)记录请求,我如何使用jwt进行防御?(我的项目使用https)
ps。英语不是我的母语,所以我不擅长,所以请理解这些笨拙的句子。
发布于 2022-09-16 13:10:38
JWT实际上是您的访问令牌。所以你必须保持它的安全,特别是通过一切手段安全地转移它。如果攻击者能够获得JWT (例如,通过嗅探未加密的HTTP连接),那么他总是可以*使用它来执行授权用户执行的任何操作(分别是令牌)。所以与其说是“重放攻击”,不如说是一种用途。
因此,您不能直接使用JWT进行辩护。您只能确保始终通过加密的HTTPS连接发送它,并防止跨站点脚本攻击,这可能允许攻击者窃取JWT。
*正因为如此,JWT通常有一个到期时间。因此,如果您将过期时间保持在较短的时间内,攻击者只能在很短的时间内使用被盗的JWT。然而,也有一段较短的时间可能足以实现永久准入。攻击者可能会通过初始源窃取一个新的JWT。
https://stackoverflow.com/questions/73744484
复制相似问题