zoukankan      html  css  js  c++  java
  • 重放攻击(Replay Attacks)

    重放攻击(Replay Attacks)
    1.什么是重放攻击
    顾名思义,重复的会话请求就是重放攻击。
    可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器。

    2.重放攻击的危害
    请求被攻击者获取,并重新发送给认证服务器,从而达到认证通过的目的。
    我们可以通过加密,签名的方式防止信息泄露,会话被劫持修改。但这种方式防止不了重放攻击。

    3.重放攻击的防御
    1)时间戳验证
    请求时加上客户端当前时间戳,同时签名(签名是为了防止会话被劫持,时间戳被修改),服务端对请求时间戳进行判断,如超过5分钟,认定为重放攻击,请求无效。
    时间戳无法完全防止重放攻击。

    2)序号
    顾名思义,在客户端和服务端通讯时,先定义一个初始序号,每次递增。这样,服务端就可以知道是否是重复发送的请求。

    3)挑战与应答的方式
    我们一般采用这种方式来防御重放攻击。
    客户端请求服务器时,服务器会首先生成一个随机数,然后返回给客户端,客户端带上这个随机数,访问服务器,服务器比对客户端的这个参数,若相同,说明正确,不是重放攻击。
    这种方式下,客户端每次请求时,服务端都会先生成一个挑战码,客户端带上应答码访问,服务端进行比对,若挑战码和应答码不对应,视为重放攻击。

    4)Https防重放攻击
    对于https,每个socket连接都会验证证书,交换密钥。攻击者截获请求,重新发送,因为socket不同,密钥也不同,后台解密后是一堆乱码,所以https本身就是防止重放攻击的,除非能复制socket,或者进行中间人攻击。

  • 相关阅读:
    Loki 初体验
    柠檬研究院及第一期活动预告
    Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控
    聊聊AspectCore动态代理中的拦截器
    使用AspectCore动态代理
    AspectCore中的IoC容器和依赖注入
    AspectCore.Extension.Reflection : .NET Core反射扩展库
    Asp.Net Core轻量级Aop解决方案:AspectCore
    [精品书单] C#/.NET 学习之路——从入门到放弃
    创建vue项目
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/6123664.html
Copyright © 2011-2022 走看看