1、会话管理

3.1、会话管理安全规则

1

避免在URL携带session id。

2

使用SSL加密通道来传输cookie。

3

避免在错误信息和调试日志中记录session id。

4

使用框架自带的或业界公认的安全函数来生成session id(参考附录11.4)。

5

开发或引入无状态的模块(比如shipin7 nodejs和视频留言模块)时,应与web模块的session机制结合,防止越权或无授权攻击。

6

当使用加密通道SSL/TLS传输cookie时,为其设置“secure”属性。

7

如果客户端不需要读写cookie,为cookie设置“httponly”属性。

8

用户成功认证登录后为其生成新的session id。

9

为持久性cookie设置合理有效期(建议不超过3天)。

10

在任意页面的显眼地方提供用户注销的方法。

3.2、session有效期

简要描述

如果不为session设置有效期,攻击者就能够无限期地去猜解一个有效的session,进而使session遭到攻击。

解决方案

根据实际需求,为session设置一个合理的闲置注销时间,对于安全要求较高的场景,建议设置会话注销时间为5分钟;

根据实际需求,为session设置一个合理的会话最长有效期,当最长有效期到来时,强制注销当前session。

备注

     

3.3、session的注销和释放

简要描述

当用户关闭浏览器的标签页时,本地临时cookie不会马上释放掉,通常只有彻底关闭浏览器后保存在本地的cookie才会被释放。

解决方案

当用户从应用中注销时应执行以下操作:

在服务器端销毁session。

覆盖本地客户端的cookie。

备注

     

3.4、CSRF攻击的防御

简要描述

CSRF(跨站域请求伪造)攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保护之下的操作。

解决方案

使用验证码(安全性最强,但影响用户体验,不建议使用);

使用同步随机token(安全性强,请参考附录11.3.1);

在一个请求中分别在cookie和post请求数据中提交session id并在服务器做比对(安全性较强,请参考附录11.3.2);

检查http请求中referer的值(安全性偏强,参考附录11.3.3);

备注

提示:如果IE显示不正常,请使用chrome浏览器

Web安全开发指南--会话管理的更多相关文章

  1. Web安全测试指南--会话管理

    会话复杂度: 5.3.2.会话预测: 5.3.3.会话定置: 5.3.4.CSRF: 5.3.5.会话注销: 5.3.6.会话超时:

  2. web安全开发指南--权限管理

    2.1               访问控制安全规则 1 访问控制必须只能在服务器端执行. 2 只通过session来判定用户的真实身份,避免使用其它数据域的参数(比如来自cookie.hidden域 ...

  3. axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码

    axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载    代码 项目和资源文档+jar 下载:http://download.csdn. ...

  4. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

  5. 白帽子讲web安全——认证与会话管理

    在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用 ...

  6. SpringBoot开发八-会话管理

    需求介绍-会话管理 利用Cookie和Seesion使得HTTP变成有会话的连接,写几个实例演示一下 代码实现 先写个例子,表示客户端第一次访问服务器,服务器端创建一个Cookie发送给客户端. 不管 ...

  7. Web安全开发指南--文件系统

    6.1.上传文件功能 简要描述 文件上传漏洞是由于文件上传功能实现代码没有对用户上传的文件进行正确处理,导致允许攻击者向服务某个目录上传文件. 解决方案 上传文件功能只对登录用户开放: 同时通过文件头 ...

  8. web安全开发指南--认证

    1.认证 1.1.       认证和密码管理安全规则 1 认证控制必须只能在服务器端执行. 2 除了指定为公开的资源,对所有其它资源的访问都必须先经过认证. 3 为所有关键凭证实施防"暴力 ...

  9. Web安全开发指南--异常错误处理与日志审计

    1.异常错误处理与日志审计 5.1.日志审计系统安全规则 1 日志系统能够记录特定事件的执行结果(比如 成功或失败). 确保日志系统包含如下重要日志信息: 1.  日志发生的时间: 2.  事件的严重 ...

随机推荐

  1. Ubuntu 14.04开启ssh服务

    sudo apt-get install openssh-server sudo apt-get install openssh-client sudo service ssh restart

  2. VM虚拟机,Linux系统安装tools过程遇到 what is the location of the “ifconfig” program

    安装步骤: 复制到/mnt 解压文件 tar -zxvf VMwareTools-10.1.6-5214329.tar.gz 进入减压文件夹后安装 ./vmware-install.pl ... 一直 ...

  3. redis之(十一)redis实现缓存的功能

    [一]redis实现缓存的原理 --->利用键的失效时间设置实现缓存技术 --->由于redis的内存有限,可以在redis的配置文件里设置maxmemory的参数.来限制redis最大可 ...

  4. ceph在扩展mon节点时,要注意的问题

    我开始也是一步一步的按官方文档操作. 但后来还是遇到了问题. 当我要扩展mon节点时,死活出错. (我就一共用了三个节点ceph-admin, ceph-node1, ceph-node2) 比如: ...

  5. sql server2000存储过程sp_droplogin

    /* 打开修改系统表的开关 */ sp_configure RECONFIGURE WITH OVERRIDE 存储过程如下: create procedure sp_droplogin @login ...

  6. php 公历农历互相转换

    废话不多,直接上代码 <?php class Lunar { /** * Created by 闻海南. * User: timeless * Date: 2018-5-29 * Time: 上 ...

  7. AC日记——背单词 洛谷 P2353

    背单词 思路: KMP+统计前缀和优化: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 1000005 ], ...

  8. Power BI连接至Mogo Altas Connector For BI

    我需要使用Power BI连接至Connector For BI ,现在Connect For BI存放在Mongo Atlas中,详细的来自于官方文档,https://docs.atlas.mong ...

  9. ZSTU OJ 4272 最佳淘汰算法

    线段树. 处理出每个位置下一个位置是哪里.然后搞个线段树找一下最大值就可以了. #include<map> #include<set> #include<ctime> ...

  10. 洛谷——P2141 珠心算测验

    P2141 珠心算测验 题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术.珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及. 某学校的珠心算老师 ...