重放攻击-实例解析

sharphui2018727-wyh sharphui2018727-wyh     2023-01-30     707

关键词:

主要讲两点,是么是重放攻击?

                  ,怎么样防止重放攻击?

,重放攻击:顾名思义,重:再次放的意思。

技术分享图片

主机A要给主机B发送报文,中间重放攻击的主人可以是A,或者是攻击者C

:当是A时,表示A会重复发送相同的报文给B,

:当是C时,表示C截获了A发送给B的报文,然后再伪装成A给B发送其截获的报文

重放攻击的含义:主机A给主机B发送的报文被攻击者C截获了,然后C伪装成A给B发送其截获来的报文,而B会误以为C就是A,就把回应报文发送给了C。

虽然A是加密的,但C根本不用破译。

实例分析:登录验证

登录验证的基本流程:(4步)

1,前端:

技术分享图片

     用户输入账号,密码,然后登录

2,用户在发送登录请求之前,web端会首先对明文密码进行md5加密(而加密后的密码会储存于后端的数据库中)

3,提交账号及md5加密后的密码

4,请求到达后端,将 从数据库中提取的账号与密码和现在提交的账号与密码进行比较,如果相同,则登录成功。

那么在这中间会出现什么问题呢?

思考:这个过程安全吗?

我们知道,在此过程中传输的是经过md5加密后的密码,即使被监听者截取到,而md5是不可逆的,明文密码也不会泄露的 。

其实不然,监听者无需解出密码明文,即可登录——因为监听者只需将监听到的URL(uniform )重放一下,即可冒充你的身份登录系统。

下面我们讲解一下稍微安全一点的登录

关键是:进行了两次加密,且攻击者的session中的随机码与数据库中的随机码相同的概率可以忽略。

1,进入前端用户登陆界面时生成一个随机码(盐值)(此随机码会在客户端和后端session中各保存一个)

2,用户在发送登录请求之前,web端首先会对明文密码进行md5加密,存于数据库中,然后加密后的密码再与盐值连接,再进行md5加密

最后密码=md5[md5(明文密码)]+随机码

3,请求到达后端后,将 从数据库中提取的md5加密后的密码+后端session中的盐值进行md5加密,与发送来的密文进行对比,若相同,则成功。

 更安全的登陆流程

1,系统随机生成一个固定盐值,uerooejioeueo%@*?.,*6hgk,>ikuolm 足够复杂

2,当用户注册,修改密码时,明文密码会先于固定盐值连接,进行md5加密,然后再与随机码连接再次进行md5加密

最后密码=md5【md5(明文密码+固定盐值)】+随机码

最后更加完善的方式

1,设置登陆验证码、

2,错误达到一定次数,锁定账号几分钟

3,存数据库前再加一次盐,然后再md5一次,防止拖库被猜密码

,防御方案:

1,加随机数:双方只需要记住各自使用过的随机数,不能有重复数,如果报文中有以前使用过的随机数,则被认为是重放攻击

                      优点:双方不需要保持时间的同步,

                      缺点:需要额外保存使用过的随机数,则需要保存和查询开销

2,加时间戳:时戳——代表当前时刻的数

                       而重放的时戳将相对远离当前时刻

                      优点:不需要内存开销

                      缺点:通信各方的计算机时钟必须保持同步(同步越好,受攻击的可能性越小)

3,加流水号:双方在报文中添加一个逐步递增的整数,则只要收到一个不连续的流水号报文(太大或者太小)就认为有重放威胁

                       优点:不需要时间同步,保存的信息量小

                       缺点:攻击者如果对报文解密成功,就获得了流水号进而会伪造数据

重放攻击(replayattacks)

重放攻击(ReplayAttacks)1.什么是重放攻击顾名思义,重复的会话请求就是重放攻击。可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器。2.重放攻击的危害请求被攻击者获取,并重新发送给认... 查看详情

重放攻击(replayattacks)

重放攻击(ReplayAttacks)1.什么是重放攻击顾名思义,重复的会话请求就是重放攻击。可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器。2.重放攻击的危害请求被攻击者获取,并重新发送给认... 查看详情

重放攻击

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

burpsuite重放攻击

 1、重放攻击   重放攻击(ReplayAttacks)又称重播攻击、回放攻击或新鲜性攻击(FreshnessAttacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。它是... 查看详情

burpsuite实现重放攻击

 1、重放攻击   重放攻击(ReplayAttacks)又称重播攻击、回放攻击或新鲜性攻击(FreshnessAttacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。它是... 查看详情

防止重放攻击最有效的方法是

防止重放攻击的最有效的方法是使用一个时间戳和会话密钥,每次传输数据时,发送一个由时间戳和会话密钥组成的哈希值来标识这次传输。然后在接收方检查这个哈希值,当重放攻击发生时,它们接收到的哈希值将与最初传输... 查看详情

java编程:api接口防止重放攻击(重复攻击)(代码片段)

...口设计时,一般都要考虑接口的防止篡改攻击和防止重放攻击。防篡改攻击请参考我的另一篇博客:Java编程:API接口防篡改、签名、验签原理,本篇文章主要介绍防止重放攻击。重放攻击(ReplayAttacks)又称重播攻击... 查看详情

利用burpsuite实现重放攻击

1.什么是重放攻击?顾名思义,重复的会话请求就是重放攻击。可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器。附上详细的解释:http://blog.csdn.net/kiritow/article/details/51811844(参考例子)2.安... 查看详情

摘要式身份验证如何防止重放攻击?

】摘要式身份验证如何防止重放攻击?【英文标题】:Howdoesdigestauthenticationpreventsreplayattacks?【发布时间】:2010-10-2709:29:50【问题描述】:我在***上发现了很多关于摘要式身份验证的问题。我找不到摘要身份验证如何防止重放攻... 查看详情

重放攻击

重放攻击:  重复的会话请求就是重放攻击。可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器。 重放攻击的危害:  请求被攻击者获取,并重新发送给认证服务器,从而达到认证通... 查看详情

《区块链100问》第67集:重放攻击是什么?

...果比特币真的发生分叉,作为普通用户,最大的风险就是重放攻击。  重放攻击是什么呢?如果比特币分裂为一种或多种比特币,如BTC1/BTC2/BTC3等,每个比特币账户内将根据他的比特币余额,同时存在对应数量的所有分叉币。... 查看详情

防止重放攻击 appStoreReceiptURL 应用收据

】防止重放攻击appStoreReceiptURL应用收据【英文标题】:PreventreplayattacksappStoreReceiptURLappreceipts【发布时间】:2018-09-2622:54:49【问题描述】:我们有一项服务器端服务,我们只想向付费iOS应用的有效用户提供该服务。(请注意,这... 查看详情

登录重放攻击预防

 https://blog.csdn.net/u014538198/article/details/41596617  前端:varsalt==很长的常量字符串password_salt_username_md5=md5(password+salt+username)varrandom_id=sendHttpRequest_getRandomId(username); 查看详情

Spring Security SAML 重放攻击防范

】SpringSecuritySAML重放攻击防范【英文标题】:SpringSecuritySAMLreplayattackprevention【发布时间】:2020-09-2323:57:36【问题描述】:如OASIS安全断言标记语言(SAML)V2.0(https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf)的配置文件第4.1.4.5... 查看详情

时间戳如何帮助防止 Web 服务中的重放攻击

】时间戳如何帮助防止Web服务中的重放攻击【英文标题】:HowdoesTimestamphelpsinpreventingReplayAttacksinwebservices【发布时间】:2012-04-1819:21:18【问题描述】:我正在尝试理解Web服务中请求标头中时间戳的概念,但不知何故仍然无法完全... 查看详情

如何防止 PHP、csrf、xsrf 中的表单重放/中间人攻击

】如何防止PHP、csrf、xsrf中的表单重放/中间人攻击【英文标题】:Howtopreventformreplay/man-in-the-middleattackinPHP,csrf,xsrf【发布时间】:2010-12-0510:20:13【问题描述】:我有一个网络表单,我正在使用PHP。我知道表单可以被操纵(我相信... 查看详情

.net添加时间戳防止重放攻击

...使用该请求包进行重复的请求操作。如果服务端不进行防重放攻击,就会参数服务器压力增大,数据紊乱的后果。而使用添加时间戳的方式可以解决这一问题。简单的Demo如下:privatereadonlystringTimeStamp=ConfigurationManager.AppSe 查看详情

在 HTTP 连接中使用基于令牌的身份验证时如何防止重放攻击

】在HTTP连接中使用基于令牌的身份验证时如何防止重放攻击【英文标题】:HowtopreventreplayattackswhenusingtokenbasedauthentificationinanHTTPconnection【发布时间】:2017-09-0518:32:16【问题描述】:在使用基于令牌的身份验证(例如:JSONWeb身份... 查看详情