转自:session fixation攻击

什么是session fixation攻击

Session fixation有人翻译成“Session完成攻击”,实际上fixation是确知和确定的意思,在此是指Web服务的会话ID是确知不变的,攻击者为受害着确定一个会话ID从而达到攻击的目的。在维基百科中专门有个词条Session fixation,在此引述其攻击情景,防范策略参考原文。


攻击情景

原文中Alice是受害者,她使用的一个银行网站http://unsafe/存在session fixation漏洞,Mallory是攻击者,他想盗窃Alice的银行中的存款,而Alice会点击Mallory发给她的网页连接(原因可能是Alice认识Mallory,或者她自己的安全意识不强)。

攻击情景1:最简单:服务器接收任何会话ID

过程如下:

  1. Mallory发现http://unsafe/接收任何会话ID,而且会话ID通过URL地址的查询参数携带到服务器,服务器不做检查
  2. Mallory给Alice发送一个电子邮件,他可能假装是银行在宣传自己的新业务,例如,“我行推出了一项新服务,率先体验请点击:http://unsafe/?SID=I_WILL_KNOW_THE_SID",I_WILL_KNOW_THE_SID是Mallory选定的一个会话ID。
  3. Alice被吸引了,点击了 http://unsafe/?SID=I_WILL_KNOW_THE_SID,像往常一样,输入了自己的帐号和口令从而登录到银行网站。
  4. 因为服务器的会话ID不改变,现在Mallory点击 http://unsafe/?SID=I_WILL_KNOW_THE_SID 后,他就拥有了Alice的身份。可以为所欲为了。
攻击情景2:服务器产生的会话ID不变

过程如下:

  1. Mallory访问 http://unsafe/ 并获得了一个会话ID(SID),例如服务器返回的形式是:Set-Cookie: SID=0D6441FEA4496C2
  2. Mallory给Alice发了一个邮件:”我行推出了一项新服务,率先体验请点击:http://unsafe/?SID=0D6441FEA4496C2"
  3. Alice点击并登录了,后面发生的事与情景1相同
攻击情景3:跨站cookie(cross-site cooking)

利用浏览器的漏洞,即使 http://good 很安全,但是,由于浏览器管理cookie的漏洞,使恶意网站 http://evil/ 能够向浏览器发送 http://good 的cookie。过程如下:

  1. Mallory给Alice发送一个邮件“有个有趣的网站:http://evil 很好玩,不妨试试”
  2. Alice访问了这个链接,这个网站将一个会话ID取值为I_WILL_KNOW_THE_SID 的 http://good/ 域的cookie设置到浏览器中。
  3. Mallory又给Alice发了个邮件:“我行推出了一项新服务,率先体验请点击:http://good/”
  4. 如果Alice登录了,Mallory就可以利用这个ID了

session fixation的更多相关文章

  1. Tomcat的SessionID引起的Session Fixation和Session Hijacking问题

    上一篇说到<Spring MVC防御CSRF.XSS和SQL注入攻击>,今天说说SessionID带来的漏洞攻击问题.首先,什么是Session Fixation攻击和Session Hi ...

  2. ASP.NET Session and Forms Authentication and Session Fixation

    https://peterwong.net/blog/asp-net-session-and-forms-authentication/ The title can be misleading, be ...

  3. 漏洞:会话固定攻击(session fixation attack)

    什么是会话固定攻击? 会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会 ...

  4. spring security防御会话伪造session攻击

    1. 攻击场景 session fixation会话伪造攻击是一个蛮婉转的过程. 比如,当我要是使用session fixation攻击你的时候,首先访问这个网站,网站会创建一个会话,这时我可以把附有 ...

  5. Session fixation--wiki

    http://en.wikipedia.org/wiki/Session_fixation In computer network security, session fixation attacks ...

  6. HTTP层 —— Session

    1.简介 由于HTTP驱动的应用是无状态的,所以我们使用Session来存储用户请求信息.Laravel通过干净.统一的API处理后端各种Session驱动,目前支持的流行后端驱动包括Memcache ...

  7. Session攻击(会话劫持+固定)与防御

    1.简介 Session对于Web应用无疑是最重要的,也是最复杂的.对于web应用程序来说,加强安全性的第一条原则就是 – 不要信任来自客户端的数据,一定要进行数据验证以及过滤,才能在程序中使用,进而 ...

  8. tomcat中session在两个webapp中实现共享

    现在遇到一个需求就是要求完成简单的单点登录,通过在一个tomcat实例中放置两个webapps应用ROOT应用和CEO应用来完成在ROOT应用登录后,在CEO可以直接使用,而未在ROOT应用登录时,不 ...

  9. 会话固定攻击 - yxcms session固定漏洞

    目录 会话固定攻击 e.g. yxcms session固定攻击 分析 了解更多 会话固定攻击 Session fixation attack(会话固定攻击)是利用服务器的session不变机制,借他 ...

随机推荐

  1. ssh常用用法小结

    ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...

  2. C#程序员阅读的书籍

    推荐几本C#程序员阅读的书籍   楼主这些年一直追随微软技术,也看了不少书籍,整理出一些个人认为不错的经典,推荐给各位阅读,以共同进步. 推荐顺序是由浅入深,深入浅出. <Professiona ...

  3. 对Extjs中store的多种操作

    Store.getCount()返回的是store中的所有数据记录,然后使用for循环遍历整个store,从而得到每条记录. 除了使用getCount()的方法外,还可以使用each()函数,如下面的 ...

  4. C语言练习-学生信息管理系统

    题目要求: 学生信息管理系统struct studentInfo{ int id; char name[128]; int age; char sex; int c_score; int cpp_sc ...

  5. C# 各种相对路径

               //获取当前可执行的exe的文件名             string str1 = Process.GetCurrentProcess().MainModule.FileNa ...

  6. [转]解决MySQL出现大量unauthenticated user的问题

    最近发现两台MySQL server在中午的时候忽然(很突然的那种)发飙,不断的挂掉.重启mysql也尽是失败,看mysql的errorlog,只能看到类似如下的信息: Forcing close o ...

  7. TortoiseSVN使用方法 安装和配置

    TortoiseSVN使用方法   安装和配置 TortoiseSVN的下载地址为 http://tortoisesvn.net/downloads.html 有32位和64位的版本,一定要根据自己的 ...

  8. java实现验证码

    第一步:在web.xml中配置servlet <servlet> <servlet-name>ImageServlet</servlet-name> <ser ...

  9. WINDOWS下安装PHP7出现PHP-CGI无法启动

    事情经过:下载PHP 7.0 然后运行,发现php-cgi一直挂掉.启动不起来.我直接到文件夹下启动PHP-CGI 启动, 失败,报错提示:缺失vcruntime140.dll.当时心中暗暗一笑,当年 ...

  10. C# ToString格式控制符

    C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...