文章目录
一、问题描述
1、什么是重放攻击、篡改攻击?
1、重放攻击:请求被攻击者获取,并重新发送给认证服务器,从而达到认证通过的目的。
2、篡改攻击:请求被攻击者获取,修改请求数据后,并重新发送给认证服务器,从而达到认证通过的目的。
2、如何模拟重放攻击、篡改攻击?
2.1、重放攻击模拟方式
1、使用谷歌浏览器的F12工具,在“网络”中任意找一个已经发送过的请求,鼠标右键这个请求,就可以看到“重放XHR”选项了,这个就是请求重放,即:重新发送一次该请求。如下图所示:

2、借助抓包工具,例如:Fiddler。这里以Fiddler为例,打开Fiddler找到刚刚的请求,鼠标右键可以看到“Replay->Reissue Requests”选项,这个就是重放请求。如下图所示:

2.2、篡改攻击模拟方式
由于浏览器的局限性,并不是所有浏览器都提供修改请求的工具的。这里就以Fiddler为例,打开Fiddler找到刚刚的请求,鼠标右键可以看到“Replay->Reissue and Edit”选项,这个就是篡改请求。如下图所示:

本文介绍了重放攻击和篡改攻击的概念,通过模拟这两种攻击展示了其实施方式。针对这些问题,文章提出了使用timestamp、nonce、公钥私钥等方案,并在老项目(framework7+Spring+SpringMVC+Ibatis)中实践了私钥签名和公钥验签的方法。然而,考虑到实现中的问题和高成本,最终选择了Redis+令牌的优化方案,详细阐述了其实现原理及可能的优化点。文章强调了在选择解决方案时要考虑项目的实际情况和需求。
最低0.47元/天 解锁文章
1166

被折叠的 条评论
为什么被折叠?



