这里的场景: 我有一个客户端服务器应用程序,客户端将加密数据发送到服务器,服务器根据客户端数据执行例程。 我该如何防止有人嗅探发送的数据并将其重新发送到服务器,以便服务器执行命令并可能会让非授权人员访问敏感数据,甚至授予登录权限?如何防止客户端重新发送嗅探命令?
1
A
回答
2
要求客户端在发送任何命令之前从服务器获取nonce - 一个只能使用一次的号码。在一个nonce被发送给客户端之后,来自该客户端的任何命令都不包含你猥亵的随机数,这显然是伪造的。即使有人嗅探了现时,他们也无法使用它,因为他们不知道创建自己的消息所需的加密密钥,同一个人将无法再使用旧请求,因为他们不会匹配任何当前活动的随机数。
编辑:显然,你可以使用各种聪明的方式在客户端生成一个随机数,以避免额外的往返,但这将是棘手的。
0
您可以在请求中包含nonce,并拒绝任何重复使用已存在的现时值的请求。
相关问题
- 1. 如何防止Rails向客户端发送cookie _appname_session(禁用cookie)?
- 2. 如何防止游戏客户端发送假玩家ID?
- 3. 如何防止来自TLS重新协商的http客户端?
- 4. MVC3客户端验证:如何防止页面重新加载?
- 5. 如何防止客户端的回传?
- 6. 如何防止libwebsockets客户端超时
- 7. 防止RabbitMQ网页跺脚客户端发送
- 8. 诊断JavaScript来嗅探客户端的图像请求
- 9. 嗅探HTTPS流量从客户端程序
- 10. 如何在Windows下嗅探USB端口?
- 11. Java TCP客户端发送被阻止?
- 12. 如何防止客户端使用的开发工具
- 13. 如何防止重复发送ajax jQuery?
- 14. 根据命令向客户端发送字符串JAVA
- 15. 发送命令给所有连接的客户端
- 16. Android:防止嗅探(例如与CharlesProxy)的SSL流量
- 17. 重构PCAP嗅探数据
- 18. 如何阻止客户端向服务器发送消息?
- 19. 如何阻止客户端向服务器发送ajax请求?
- 20. 如何使用wss .net客户端发送访问令牌
- 21. 如何使PHP REST服务器发送效应初探回客户端
- 22. 如何嗅探http请求
- 23. 发送通知客户端
- 24. 如何防止在Express中发送一次后重新发送数据
- 25. TIdTCPServer无法在客户端重新连接后发送数据
- 26. 如何重新使用TCP客户端?
- 27. 防止WCF客户端反序列化
- 28. 防止客户端存储XMLHttpRequest文档
- 29. 防止客户端超载服务器?
- 30. 防止返回客户端的ajaxSubmitHandler
加密如何? SSL和TLS证明了不会发生重播攻击。 – EJP
基本上它是AES,我无法对所有服务器实施SSL。 (不要问为什么,这是事实。) – Husky110
感谢您的答案! – Husky110