Web安全开发指南--会话管理
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安全开发指南--会话管理的更多相关文章
- Web安全测试指南--会话管理
会话复杂度: 5.3.2.会话预测: 5.3.3.会话定置: 5.3.4.CSRF: 5.3.5.会话注销: 5.3.6.会话超时:
- web安全开发指南--权限管理
2.1 访问控制安全规则 1 访问控制必须只能在服务器端执行. 2 只通过session来判定用户的真实身份,避免使用其它数据域的参数(比如来自cookie.hidden域 ...
- axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码
axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载 代码 项目和资源文档+jar 下载:http://download.csdn. ...
- 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...
- 白帽子讲web安全——认证与会话管理
在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用 ...
- SpringBoot开发八-会话管理
需求介绍-会话管理 利用Cookie和Seesion使得HTTP变成有会话的连接,写几个实例演示一下 代码实现 先写个例子,表示客户端第一次访问服务器,服务器端创建一个Cookie发送给客户端. 不管 ...
- Web安全开发指南--文件系统
6.1.上传文件功能 简要描述 文件上传漏洞是由于文件上传功能实现代码没有对用户上传的文件进行正确处理,导致允许攻击者向服务某个目录上传文件. 解决方案 上传文件功能只对登录用户开放: 同时通过文件头 ...
- web安全开发指南--认证
1.认证 1.1. 认证和密码管理安全规则 1 认证控制必须只能在服务器端执行. 2 除了指定为公开的资源,对所有其它资源的访问都必须先经过认证. 3 为所有关键凭证实施防"暴力 ...
- Web安全开发指南--异常错误处理与日志审计
1.异常错误处理与日志审计 5.1.日志审计系统安全规则 1 日志系统能够记录特定事件的执行结果(比如 成功或失败). 确保日志系统包含如下重要日志信息: 1. 日志发生的时间: 2. 事件的严重 ...
随机推荐
- mips64高精度时钟引起ktime_get时间不准,导致饿狗故障原因分析【转】
转自:http://blog.csdn.net/chenyu105/article/details/7720162 重点关注关中断的情况.临时做了一个版本,在CPU 0上监控所有非0 CPU的时钟中断 ...
- ue4.3正式版源码链接
ue4.3正式版源码链接 http://tieba.baidu.com/p/3170253742
- CentOS 7下安装php-redis扩展及简单使用
前言: 在本篇文章中,我将给大家介绍如何在CentOS7上安装PHP-Redis扩展以及一些简单的实用,关于如何在Centos上安装redis的,可以参考 Redis在CentOS 7上的安装部署 ...
- Network Embedding
网络表示 网络表示学习(DeepWalk,LINE,node2vec,SDNE) https://blog.csdn.net/u013527419/article/details/76017528 网 ...
- hihocoder 1135 : Magic Box
#1135 : Magic Box 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 The circus clown Sunny has a magic box. Whe ...
- xshell 如何连接服务器
https://jingyan.baidu.com/article/ab69b270b0ca3d2ca7189fdc.html 点击“新建”之后就会出现下面这样一个界面,“名称”根据自己的需求填写,“ ...
- Jmeter-----随机生成手机号后8位并去重,来进行注册手机号的压测
要求:对注册接口进行100000次压测,手机号已126开头,后面的8位数不限 前言:在进行测试中,我们需要对注册接口进行压测100000次,那么就要求手机号码每次填写的不一致,否则手机号使用一次后会出 ...
- Monty Hall悖论
Monty Hall悖论又称为蒙提·霍尔悖论.三门问题.Monty Hall是上个世纪60年代,电视游戏节目“Let's Make a Deal”的主持人,这个悖论便是以他的名字来命名的.节目的规则是 ...
- electron调用C#应用程序实现串口通信
最近转入零售行业开发了一系列产品,包含便利店收银软件.会员系统.供应链系统.为了追赶潮流,收银软件使用了electron平台开发,界面效果.开发效率确实不错:但是涉及到串口通讯时遇到了麻烦,elect ...
- 限制输入字符个数的jq插件
(function($) { $.fn.extend( { limiter: function(limit, elem) { $(this).on("keyup focus", f ...