加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何防止重播攻击?

发布时间:2020-12-15 23:42:54 所属栏目:asp.Net 来源:网络整理
导读:这与 another question I asked有关.总而言之,我有一个URL的特殊情况,当一个表单被POST时,我不能依靠cookie进行认证或维护用户的会话,但是我不知何故需要知道谁他们是,我需要知道他们已经登录! 我想我想出了一个解决我的问题的办法,但是它需要充实.这是我在
这与 another question I asked有关.总而言之,我有一个URL的特殊情况,当一个表单被POST时,我不能依靠cookie进行认证或维护用户的会话,但是我不知何故需要知道谁他们是,我需要知道他们已经登录!

我想我想出了一个解决我的问题的办法,但是它需要充实.这是我在想什么我创建一个名为“username”的隐藏表单字段,并在其中放置用户的用户名,加密.然后,当表单POST时,即使我没有从浏览器收到任何cookie,我知道他们登录,因为我可以解密隐藏的表单字段并获取用户名.

我可以看到的重大安全漏洞是重播攻击.如何防止某人获得该加密字符串,并以该用户身份登录?我知道我可以使用SSL来更难以窃取字符串,也可以定期旋转加密密钥来限制字符串的有效期,但是我真的很想找到一个防弹的解.有人有什么想法吗? ASP.Net ViewState是否阻止重播?如果是这样,他们怎么做呢?

编辑:我希望有一个不需要任何数据库中存储的解决方案.应用程序状态将是可行的,除非它不能在IIS重新启动或在Web场或花园场景中完全工作.现在我接受了克里斯的回答,因为我不相信甚至可以在没有数据库的情况下确保这一点.但是如果有人提出不涉及数据库的答案,我会接受的!

解决方法

如果您使用时间戳和用户名和密码进行哈希,则可以在几秒钟内关闭重播攻击的窗口.我不知道这是否满足您的需求,但至少是部分解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读