`
Callan
  • 浏览: 731197 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Cookie和会话状态的工作原理及Cookie欺骗

    博客分类:
  • web
阅读更多

解读session

session是一种保存上下文信息的机制,它是针对每一个用户变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以Cookie或URL重写为基础。默认使用Cookie

来实现,系统会创造一个名为JSESSIONID的输出Cookie,或称为"Session Cookie",以区别Persistent Cookies(通常所说的Cookie,cookic的状态分为持久化cookie与非持久化

cookie).Session Cookie是存储在浏览器中,并不是写在硬盘上的,但是把浏览器的Cookie禁止后,使用response对象的encodeURL或encodeRedirectURL方法编码URL,WEB服务器

会采URL重写的方式传递Sessionid,用户就可以在地址栏看到jsessionid=A09JHGHKHU68624309UTY84932之类的字符串。

通常Session Cookie是不能跨窗口使用,当用户新开了一个浏览器进入相同的页面时,系统会赋予用户一个新的SessionID,这样信息共享的目的就达不到,此时可以把SessionID

保存在Persistent Cookie中,然后再新的窗口中读出来,就可以得到上一个窗口的SessionID了,这样通过Session Cookie和Persistent Cookie的结合,实现了跨窗口的会话跟踪。


session的工作原理
就session的实现而言,好像是这样的:
(1)当有Session启动时,服务器生成一个唯一值,称为SessionID(好像是通过取进程ID的方式取得的)。
(2)然后,服务器开辟一块内存,对应于该SessionID。
(3)服务器再将该SessionID写入浏览器的cookie(一些在网页的源代码中有所体现)。
(4)服务器内有一进程,监视所有Session的活动状况,如果有Session超时或是主动关闭,服务器就释放该内存块。
(5)当浏览器请求的,服务器就读浏览器Cookie中的SessionID。
(6)然后,服务检查该SessionID所对应的内存是否有效。
(7)如果有效,就读出内存中的值。
(8)如果无效,就建立新的Session。


注意:
(1)在大浏览量的网站,Session并不保险,我们过去的网站就经常碰到存在Session中得值不正确(可能出现重复的Session ID)。
(2)Session ID不能从硬盘上的Cookie文件获得,如果想在客户端获知自己的Session ID,只能通过JavaScript来读取。


Cookie和会话状态
做BS开发,这两个概念必不可少,先来个大概了解,没有实际应用很难深入,深入看参考地址!
什么是 Cookie?
Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。 Cookie 的基本工作

原理如果用户再次访问站点上的页面,当该用户输入 URLwww.*****.com时,浏览器就会在本地硬盘上查找与该 URL 相关联的 Cookie。如果该 Cookie 存在,浏览器就将它与页面

请求一起发送到您的站点。

Cookie 有哪些用途?
最根本的用途是:Cookie 能够帮助 Web 站点保存有关访问者的信息。更概括地说,Cookie 是一种保持Web 应用程序连续性(即执行“状态管理”)的方法.使 Web 站点记住您.

 

分享到:
评论

相关推荐

    带你了解session和cookie作用原理区别和用法

     这个生命期为浏览会话期的cookie,就是会话Cookie; 存储:   一般保存在内存,不在硬盘;  如果设置了过期时间, 浏览器会把cookie保存在硬盘上,关闭再打开浏览器, 这些cookie依然有效直到超过的设置过期时间;  ...

    PHP的cookie与session原理及用法详解

    本文实例讲述了PHP的cookie与session原理及用法。分享给大家供大家参考,具体如下: 产生背景 HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味...

    beaker:用于会话和缓存的WSGI中间件

    缓存和会话库 关于 Beaker是一个Web会话和常规缓存库,其中包括用于Web应用程序的... 签名的cookie以防止会话劫持/欺骗 仅限Cookie的会话,无需数据库或文件后端(适用于集群系统) 可扩展容器对象以支持新的后端 缓存

    WAF完整检查表.xlsx

    访问控制 应能根据会话状态信息为数据流提供明确的允许/拒绝访问的能力,控制粒度为端口级 配置了合理的安全策略,只允许授权的IP地址、协议、端口通过 应对进出网络的信息内容进行过滤 过滤的内容包括...

    webgoat——Session Management Flaws会话管理缺陷

    因为HTTP是没有状态的,之前认证缺陷的也会涉及到类似的知识点,由于每次请求完成后链接就会断开,当客户端再次发起请求的时候,服务端就识别不了客户端的状态,而会话管理就是解决这一问题的,其中一种会话管理是...

    1_HTTP协议分析.pptx

    HTTP请求与响应,状态与会话,Cookie欺骗,Burp suit,http协议字段分析以及抓包等

    PHP安全基础1-8章

    4.1. Cookie 盗窃 4.2. 会话数据暴露 4.3. 会话固定 4.4. 会话劫持 第五章 包含 5.1. 源码暴露 5.2. 后门URL 5.3. 文件名操纵 5.4. 代码注入 第六章 文件与命令 6.1. 文件系统跨越 6.2. 远程文件风险 6.3. 命令注入 ...

    CyberDragon Browser:Cyber​​Dragon Browser - 隐私增强的便携式浏览器-开源

    默认情况下,只允许设置了 Secure 和 HttpOnly cookie 属性的会话 cookie。 此外,默认情况下会阻止所有 3rd 方 cookie。 这些设置可以被站点覆盖,阻止或允许特定的 cookie,允许非常细粒度的 cookie 控制。 - ...

    Cookies 和 Session的详解及区别

    Cookies 和 Session的详解及区别 1.cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。 2.session其实指的就是访问者从到达某个特定主页到离开为止的...

    ASP.NET的网页代码模型及生命周期

    非法用户可以使用Cookie欺骗来攻击网站进行用户信息的获取,不过使用客户端状态能够使用客户端的资源从而提高服务器性能。使用客户端状态,虽然有安全隐患,但是具有良好的编程能力,以及基本的安全知识,能够较好的...

    Sitecore Analytics Testing Tools-crx插件

    Sitecore Analytics测试工具的Chrome扩展程序使Sitecore营销人员和开发人员能够“欺骗”其IP地址。 这对于测试依赖于访问者的GeoIP位置的功能(例如个性化设置)很有用。 此外,该扩展程序还提供了清除特定于...

    Lanmitm:Android中间人攻击测试工具

    会话劫持,对局域网中的主机通过实施ARP欺骗,进行cookie欺骗,从而达到劫持会话的效果 简单web服务器功能,结合下面功能实施钓鱼欺骗 代码注入,通过数据截取,对远程主机返回的数据进行篡改,实现代码注入的效果 ...

    Sitecore分析测试工具「Sitecore Analytics Testing Tools」-crx插件

    Sitecore Analytics测试工具的Chrome扩展程序使Sitecore营销人员和开发人员能够“欺骗”其IP地址。 这对于测试依赖于访问者的GeoIP位置的功能(例如个性化设置)很有用。 此外,该扩展程序还提供了清除特定于...

    Web安全深度剖析(张柄帅)

    15.1.3 ARP欺骗原理 328 15.2 ARP攻击 329 15.2.1 Cain 329 15.2.2 Ettercap 332 15.2.3 NetFuke 336 15.3 防御ARP攻击 339 15.4 小结 340 第16章 社会工程学 341 16.1 信息搜集 341 16.2 沟通 343 16.3 伪造 344 ...

    百度地图开发java源码-BurpSuite:打嗝套件

    欺骗、提升权限、会话劫持、目录遍历、缓冲区溢出。拦截的传输可以被修改成原始文本,也可以是包含参数或者消息头的表格,也可以十六进制形式,甚至可以操纵二进制形式的数据。在 Burp 代理可以呈现出包含 HTML 或者...

    Incognito Mode Reset Button-crx插件

    清除当前隐姓埋名会话的历史记录,cookie和缓存,同时留下所有选项卡打开! 谷歌Chrome的隐身模式对于整个很多东西都很有用,也超出了陈词滥调的肮脏的东西可能更愿意隐藏他的浏览器历史记录: - 在具有不同帐户的...

    BrowQue-crx插件

    清除cookie,缓存,历史记录,表单详细信息,启动时的Web存储(如会话存储,本地存储等)8.确保免受幽灵攻击9.在高度保密的情况下禁用Flash和地理位置API用法:要使用此扩展程序,请在Chrome或Chromium中启用开发...

    .net Cookies安全性实践分析

    一、Sniffer(这里采用的软件是Sniffer,java版的那个) Sniffer监听会话是不可护的,就和KOF里拉尔夫的宇宙幻影一样,只要打中,一定是致命的。 上图,就是一组侦听数据,当然这里侦听的是我本机的数据。实际上是...

Global site tag (gtag.js) - Google Analytics