防止篡改\防止重放攻击方案
文章目录
- 一、防止重放攻击方案
- 问题背景
- 二、timestamp和nonce的防止重放攻击方案
- 三、防止篡改(请求参数防篡改)
- 签名验证方法
- 第三方接口的签名算法中为什么要对请求参数按参数名做字典序升序排列?
- 四、实现demo
- 五、参考
一、防止重放攻击方案
1. 问题背景
重放攻击是计算机世界黑客常用的攻击方式之一。
重放攻击是二次请求,黑客通过抓包获取到了请求的HTTP报文,然后黑客自己编写了一个类似的HTTP请求,发送给服务器。也就是说服务器处理了两个请求,先处理了正常的HTTP请求,然后又处理了黑客发送的篡改过的HTTP请求。
https请求下也无法避免单次会话的包重放攻击。
比如一个攻击场景:
把你的请求原封不动地再发送一次,两次…n次,一般正常的请求都会通过验证进入到正常逻辑中,如果这个正常逻辑是插入数据库操作,那么一旦插入数据库的语句写的不好,就有可能出现多条重复的数据。
应用场景:
在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改
还没有评论,来说两句吧...