Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >会话cookie中缺少secure属性

会话cookie中缺少secure属性

作者头像
季鸟猴
发布于 2022-11-14 11:44:32
发布于 2022-11-14 11:44:32
4K00
代码可运行
举报
文章被收录于专栏:季鸟猴的分享季鸟猴的分享
运行总次数:0
代码可运行

安全问题解析

Session cookies (或者包含JSSESSIONID的cookie)是指用来管理web应用的session会话的cookies.这些cookie中保存特定使用者的session ID标识,而且相同的session ID以及session生命周期内相关的数据也在服务器端保存。在web应用中最常用的session管理方式是通过每次请求的时候将cookies传送到服务器端来进行session识别。

解决方案以及带来的安全性

你可以设置附加的secure标识来提示浏览器只能通过Https(加密方式)方式来传输cookie,Http(未加密方式)方式则不可以。这种方式来保证你的session cookie对于攻击者是不可见的,避免中间人攻击(Man-in-the-Middle Attack,简称“MITM攻击”)。这并不是一个完美的session安全管理方案,却是一个重要的步骤。

具体做法,这里以Tomcat为例

方式很简洁。你可以甚至可以手工设置这个标识,如果你在Servlet3或者更新的环境中开发,只需要在web.xml简单的配置来实现。你只要在web.xml中添加如下片段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<session-config>
  <cookie-config>
    <secure>true</secure>
  </cookie-config>
</session-config>

attention : 但是这种会导致,http的时候登陆失败,因为登陆一般是cookie中有sessionID ,现在非http无法存放sessionID了 就没发完成登陆了。

思路总结和验证

在session cookie添加secure标识(如果有可能的话最好保证请求中的所有cookies都是通过Https方式传输)

如下是示例:未添加secure标识的session cookie-可能会被泄露 Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H;

添加secure标识后: Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; secure;

Q.E.D.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
web渗透测试—-33、HttpOnly[通俗易懂]
HttpOnly是微软公司的Internet Explorer 6 SP1引入的一项新特性。这个特性为cookie提供了一个新属性,用以阻止客户端脚本访问Cookie,至今已经称为一个标准,几乎所有的浏览器都会支持HttpOnly。 下面示例显示了HTTP响应标头中HttpOnly使用的语法:
全栈程序员站长
2022/09/07
2.7K0
tomcat源码解读六 tomcat中的session生命历程
     session的作用是在一次会话中(从打开浏览器到关闭浏览器同当前服务器的交流)当客户端第一次请求session对象时候,服务器会为客户端创建一个session,并将通过特殊算法算出一个se
cfs
2018/03/08
1.5K0
tomcat源码解读六  tomcat中的session生命历程
JSP基础--会话跟踪技术、cookie、session
我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。
eadela
2019/09/29
9940
JSP基础--会话跟踪技术、cookie、session
浅谈Session与Cookie的区别与联系
一、Session的概念 Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户对应的Session。 一般情况下,服务器会在一定时间内(默认30
mukekeheart
2018/07/04
3.1K0
Session会话与Cookie简单说明
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。经常有人会疑惑:Session会话与Cookies的区别是什么?用户登录的原理是什么?网站是如何认证的?它怎么知道是哪个用户从哪儿登录进来的?下面将对这些问题进行一一解答。
洗尽了浮华
2022/03/29
1.9K0
Session会话与Cookie简单说明
HttpSession详解「建议收藏」
  需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器建立连接时所处的Session是两个不同的Session。
全栈程序员站长
2022/09/07
1.4K0
HttpSession详解「建议收藏」
会话跟踪技术-session
javax.servlet.http.HttpSession接口表示一个会话,我们可以把一个会话内需要共享的数据保存到HttSession对象中!
星哥玩云
2022/09/14
4250
会话跟踪技术-session
Session和Cookie和Filter和Listener(最全 最精美)
Session的超时时间也可以在web.xml中修改。另外,通过调用Session的invalidate()方法可以使Session失效。 <session-config> <session-timeout>30</session-timeout> </session-config>
编程张无忌
2021/01/26
7720
Session和Cookie和Filter和Listener(最全 最精美)
Cookie 和 Session 的那点事!
我曾在HTTP文章中立下过这个flag,现在这篇就是来兑现的!温情提示,本文使用的测试浏览器为Firefox 83.0(64位)。
东边的大西瓜
2022/05/05
3700
Cookie 和 Session 的那点事!
开发中经常碰到的问题cookie和session问题,今天一并解决
会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
好好学java
2018/09/21
3K0
开发中经常碰到的问题cookie和session问题,今天一并解决
javaWeb中cookie和session的区别和使用场景
说到cookie和session先从二者的英文单词含义说起,cookie翻译为中文是小饼干的意思,session翻译成中文是会话的意思。从翻译就能看出来,cookie是服务器返回给浏览器的一些断断续续的东西,而session是一种会话机制。那么为什么要用cookie和session呢? 因为Http协议是一种无状态协议,服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session,而session是如何实现状态保持的呢? ---- 这个时候cookie作用就体现出来了! 每次HT
神秘的寇先森
2018/05/30
6410
一文搞明白Cookie、Session与Token
HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性
中龙技术
2022/09/30
1.7K0
一文搞明白Cookie、Session与Token
Session、Cookie、Token三者关系理清了吊打面试官
HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。
淘课之家
2020/04/09
2.2K0
Session、Cookie、Token三者关系理清了吊打面试官
javaWeb核心技术第八篇之Cookie和Session
会话技术: 会话是什么? 浏览器和服务器交互,浏览器打开网页访问服务器,会话开始,正常交互. 浏览器关闭,会话结束. 会话能干什么? 会话可以共享数据. Cook
海仔
2019/08/26
8180
session和cookie的区别和联系
大家都知道,session是存储在服务器端的,cookie是存储在客户端的,session依赖于cookie。
用户2141593
2019/02/20
7720
JavaWeb(二)会话管理之细说cookie与session
前言   前面花了几篇博客介绍了Servlet,讲的非常的详细。这一篇给大家介绍一下cookie和session。 一、会话概述 1.1、什么是会话?   会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。   一次会话指的是:就好比打电话,A给B打电话,接通之后,会话开始,直到挂断电话,该次会话就结束了,而浏览器访问服务器,就跟打电话一样,浏览器A给服务器发送请求,访问web程序,该次会话就已经接通,   其中不管浏览器发送多少请求(就相
用户1195962
2018/01/18
1.4K0
JavaWeb(二)会话管理之细说cookie与session
Java学习之Cookie与Session篇
Cookie 和Session 不同的地方是 cookie是存在于客户端,而session是存在于服务器上。
全栈程序员站长
2022/07/13
1460
Cookie 和 Session 机制原理分析 & 区别对比
Web application servers are generally "stateless":
一个会写诗的程序员
2018/09/12
1.2K0
26. 会话技术-Session的使用
可以通过获取的 session ID 信息,我们可以知道 session 是同一个的。
Devops海洋的渔夫
2021/11/19
1.1K0
26. 会话技术-Session的使用
Spring Mvc boot解决静态url带jsessionid问题
Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid;在其它的容器也许就不叫jsessionid了。
王念博客
2019/07/24
3.2K0
相关推荐
web渗透测试—-33、HttpOnly[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验