如何防止会话被盗?

ps

简单测试:

  1. 我在一台计算机上登录到站点(https)
  2. 我在另一台机器上进入了同一页面(未登录)
  3. 我在第二台机器的标头中切换了session_id-从第一台机器
  4. 在第二台计算机上,我得到了第一台计算机的所有信息-我已登录,可以轻松浏览其数据,等等。

如何保护会话(可能还有CSRF令牌)免受盗窃?

基本的
  • 确保您的会话密钥不可猜测。GUID / UUID在这里可以正常工作(或者更好的是,对加密随机数生成器的输出进行哈希处理)。
  • 确保ID从未以纯文本格式传输(使用SSL)
  • 经常更新会话ID(例如每5分钟左右更新一次)。

通过执行上述操作,攻击者应该不可能截取会话ID。使用安全Cookies也是一个好主意这将防止为非安全资源发送cookie(例如,通过http加载不需要身份验证的图像/ css)

您可以选择尝试将会话绑定到IP地址,但这不是一个完美的解决方案。它无法防御与用户位于同一NAT后的攻击者,并且可能无法验证具有到Internet的多个路由的有效用户。

需要说明的是:您将始终能够看到自己的会话ID。诀窍是确保其他人看不到它。它实际上是一个临时密码。大多数浏览器都会在磁盘上对安全cookie进行加密(可逆)。再次对其进行加密,以通过SSL传输到服务器。

假设您在与正确的服务器通信(另一个问题),攻击者获取会话ID的唯一方法是在计算机上安装恶意软件或破坏Ssl。

对ID的频繁更改意味着攻击者在必须重新开始之前只有很短的时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何防止apikey被盗?

来自分类Dev

设备生根后如何防止应用数据被盗

来自分类Dev

如何通过编辑html代码防止文件被盗?

来自分类Dev

如何防止空闲会话退出

来自分类Dev

如何防止SSH会话冻结?

来自分类Dev

https 如何防止会话劫持

来自分类Dev

如何防止php项目中的会话固定?

来自分类Dev

如何防止Outlook在Skype中启动会话?

来自分类Dev

如何找到我被盗的Macbook

来自分类Dev

如何阻止网站上的视频被盗?

来自分类Dev

会话到期时如何防止表单数据丢失?

来自分类Dev

如何防止类中的属性不存储在会话中

来自分类Dev

WebSocket打开时如何防止http会话过期

来自分类Dev

如何防止JSF 2.2从其他会话接受ViewState?

来自分类Dev

如何防止Control + D断开会话连接?

来自分类Dev

如何防止脚本/命令劫持会话的缓存sudo功能?

来自分类Dev

如何使用PHP会话来防止重复提交表单?

来自分类Dev

翻译大文件时如何防止会话用完

来自分类Dev

如何保护android中的sqlite数据库不被盗

来自分类Dev

Synology上的加密文件被盗后会如何处理?

来自分类Dev

防止多个iPhone会话

来自分类Dev

防止注销杀死tmux会话

来自分类Dev

防止注销杀死tmux会话

来自分类Dev

如何防止UWP项目在每个Visual Studio会话上还原NuGet包?

来自分类Dev

Windows会话解锁后,如何防止表单位置大小更改?

来自分类Dev

一段时间后如何防止蟾蜍断开其会话?

来自分类Dev

如何防止py2exe打包的Python程序启动多个会话?

来自分类Dev

如何防止Notepad ++打开上一个会话中未保存的文档?

来自分类Dev

当所有页面都加载到index.php中时,如何防止php会话劫持

Related 相关文章

热门标签

归档