XSS会话劫持

(1)Cookie简介

Cookie是能够让网站服务器把少量文本数据存储到客户端的硬盘、内存,或者是从客户端的硬盘、内存读取数据的一种技术。

Cookie是一段随HTTP请求、响应一起被传递的额外数据,主要作用是标识用户、维持会话。

浏览网站时,该网站可能会在电脑硬盘写入一个文本文件,可以记录ID、密码等。这个文件就是Cookie文件,当再次浏览网站时,网站会读取Cookie,做出相关回应。比如:在你输入密码登录后,会提示你是否保存,保存后,下一次登录时可以直接登录。

根据Cookie在客户端中存储的位置,分为内存Cookie和硬盘Cookie。内存Cookie保存时间短暂,浏览器关闭后,Cookie就消失。硬盘Cookie保存在硬盘里,有过期时间,到期或者手动清理即可删除。所以,Cookie又分为持久Cookie和非持久Cookie。

(2)XSS盗取Cookie

如果网站存在XSS漏洞,攻击者则可以构造恶意XSS代码获取用户cookie,然后截断此网站的HTTP请求包,将获取的Cookie替换原有的Cookie,则不用输入用户名和密码,直接登录该用户。

(3)SEESSION

除Cookie外,维持会话状态还有一种形式是SESSION。

WEB中SESSION是在浏览一个网站时,从进入网站到浏览器关闭所经过的时间,就是一次客户端与服务端的‘对话’。浏览器关闭后,SESSION自动注销。

每个用户的会话状态都是不同的SESSION,区分这些用户的,叫做SESSIONID。用户第一次连接服务器时,会自动分配一个SESSIONID。这个SESSIONID是唯一的,在浏览器关闭后,SESSION自动注销,下一次连接时,会重新分配。

SESSION相对Cookie来说更安全,它只存在于服务端,在客户端只存在一个ID,而COOKIE是存储在客户端。

当然,如果网站存在XSS漏洞,攻击者构造了恶意XSS代码,如果一个用户正在浏览该网站,同时也触发了攻击者的XSS代码,此时,攻击者就可以拿到SESSION,因为用户没有关闭浏览器,SEESSION没有被注销,攻击者就可以利用SESSIONID等信息,直接登录此用户。

最新文章

  1. ionic tab导航在android 真机测试中 导航在顶部解决办法
  2. Framework7--Test
  3. java--接口和抽象类
  4. 【jmeter】浅说 think time
  5. JS语句循环(100以备奇偶数、100以内与7先关的数、100以内整数的和、10以内阶乘、乘法口诀、篮球弹起高度、64格子放东西)
  6. Android Activity初探
  7. 修改mysql字符编码出现Job failed to start解决办法
  8. linux 安装mysql 5.7.16
  9. js复制黏贴
  10. 深入理解计算机系统第二版习题解答CSAPP 2.8
  11. VS2012 编写C++程序的时候DOS窗口一闪而过解决办法。
  12. Hive UDAF开发之同时计算最大值与最小值
  13. Linux下逻辑卷创建与管理
  14. JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法
  15. MyBatis基础学习笔记--摘录
  16. 97w网站邀请码
  17. kafka消费者启动报错
  18. luogu P4363 [九省联考2018]一双木棋chess
  19. celery --分布式任务队列
  20. Codeforces Round #529 (Div. 3) 题解

热门文章

  1. HDU 1527 取石子游戏(威佐夫博弈)
  2. JMeter 配置元件之HTTP Cookie Manager 介绍
  3. Ubuntu下解压缩文件
  4. FreeSWITCH1.6安装教程Centos
  5. C程序
  6. ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用
  7. Jetbrains Idea连接TFS时配置的坑
  8. [转] Scala 中的异步事件处理
  9. 大约当你拿捏的准世事的分寸时,你便会成功了。(NULL)
  10. sql 语句按字段指定值排序及分页