专栏首页中国白客联盟关于新型漏洞https cookie注入漏洞攻击剖析

关于新型漏洞https cookie注入漏洞攻击剖析

0x01 什么是cookie? 主要是验证用户的身份的唯一标识。 0x02 cookie注入的原理是什么? 既然是cookie注入,不管是http,还是https协议,其实就是对cookie进行的伪造,修改,达到欺骗服务器目的。这里的注入是伪造修改,同sql中的cookie注入无关。 0x03 http中cookie伪造的常见场景 1.利用xss盗取用户cookie,盗取cookie后可以直接在客户端伪造cookie进行登陆。 2.cookie是可以预测的,伪造客户端端cookie可以进行登陆。 3.内网劫持得到用户cookie,盗取cookie后可以直接在客户端cookie伪造登录。 由此可见http中获取的用户cookie后的攻击方式是直接登录就行。 0x04 https中cookie盗取伪造的常见场景 1.利用xss盗取用户cookie,盗取cookie后在客户端伪造cookie,由于https是加密的,伪造后无法进行登录。 2.cookie是可以预测的,伪造客户端端cookie无法进行登录。(https加密无法伪造连接) 3.内网劫持得到用户cookie,盗取cookie后无法进行登录。(https加密无法伪造连接) 有上可知,即使你得到了cookie,由于https协议,也不能登录,也没什么卵用。 因此,黑客们就开始找获取cookie进行https登录的猥琐方法。 0x05 cookie的组成和特性 cookie的组成 [name,domain,path]: 唯一的确定cookie name,domain,path任何一个值不同,则cookie也不相同。 domain向上通配特性 页面http://www.bank.com向客户端设置cookie时, Set-Cookie: user1 = admin; domain=.bank.com; path=/; 利用上面的cookie访问http://user.bank.com时,cookie仍然有效。 利用上面的cookie访问http://123.user.bank.com时,cookie仍然有效。 也就是说只要是bank.com的子域名,这个cookie是通用的。 path向下通配特性 页面http://www.bank.com向客户端设置cookie时, Set-Cookie: user1 = admin; domain=.bank.com; path=/; 就利用上面的cookie访问http://www.bank.com/buy/时,cookie仍然有效的。 就利用上面的cookie访问http://www.bank.com/buy/aa/时,cookie仍然有效的。 也就是说只要是www.bank.com域名下的路径,这个cookie是有效的。 0x06 利用这些特性攻击的过程 攻击方法一 首先我们劫持了用户的cookie,得到cookie了无法登陆https拿太坑了,看看能不能利用cookie的特性进行修改cookie . 我们劫持了用户的cookie,先看cookie是哪个网站的,例如https://bank.com, 我们得到的一个cookie如下Set-Cookie:session=test;domain=.bank.com;path=/; 我们现在就可以利用Cookie:session=test去访问bank.com下的非http的网站如http://user.bank.com 这个网站可以用session=test这个cookie访问的,这样我们就可以利用劫持的cookie登录user.bank.com这个网站的用户。 这样的攻击感觉不过瘾,还是不能攻击https的网站啊。看一看攻击方法二 攻击方法二 比如劫持到了https://bank.com下的用户的cookie,那么我们先在这个网站注册一个合法用户test。 利用test用户登录去访问这个网站得到的cookie是Set-Cookie:session=test;domain=.bank.com;path=/;Secure; 那么我们可以利用注册的用户去登录http://user.bank.com这个网站,这个网站也会返回一个cookie Set-Cookie:session=test;domain=.bank.com;path=/;Secure; 这个cookie也是服务器的response返回值,我们可以拦截 修改返回值,任意修复cookie,那么我们就把它修改为劫持到用户的cookie, Set-Cookie:session=attacker;domain=.bank.com;path=/;Secure; cookie返回到客户端,也就是我们修改后的cookie,这时候我们再利用这个cookie访问https://bank.com这个网站,发现就变成 了attacker这个用户的操作界面,也就是我们劫持的用户,登陆了https下的网站,我们就大功告成了。 0x07 其他cookie特性 path越长,优先级越高 Set-Cookie:session=bob; domain=.user.bank.com; path= /; Set-Cookie:session=attacker;domain=.bank.com; path=/admin; 优先访问。 也就是说谁的path长先访问谁。 创建时间越早,优先级越高 Set-Cookie:session=bob; domain=.user.bank.com; path= /; Set-Cookie:session=attacker;domain=.bank.com; path=/; expires =Mon, 1,Jan 1970; 优先访问 attacker最先创建优先访问。 参考:Kcon大会议题CooKie之困

本文分享自微信公众号 - 中国白客联盟(China_Baiker),作者:nextdoor

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 渗透中的后门利用

    本文主要介绍权限维持,介绍如何在有一定权限的情况下,留下后门。当然各类后门太多太多了,这里主要列举一些常用的、方便的。

    Jumbo
  • 点击我即可获取你QQ系权限

    腾讯域下的cookie都是通用的,怎么说,也就是说,比如你成功登录了QQ空间,则无需二次登录即可登录腾讯域的其他应用,比如邮箱、音乐、视频等。所以说,你只要发现...

    Jumbo
  • Mac os提高效率的几款工具

    Android studio/intellij idea:android动态调试。

    Jumbo
  • WKWebView ajax请求Cookie丢失

    发现H5里面 ajax请求失败302,这可能Cookie丢失或Cookie不相同了

    LeeCen
  • cookie&session&localStorage

    写之前转载两篇写的很棒的文章先看看:Session和Cookie Session和Cookie

    bamboo
  • 操作cookie信息

    说道cookie,我们都知道他是存储在浏览器客户端的一种数据存储方式,避免了大量与服务器进行数据交互造成的延迟效果,使页面浏览起来很流畅,但是不建议大量的使用c...

    无邪Z
  • 登录之记住用户与自动登录

           如题,大家在使用各种网站时,为了更好的用户体验,网站往往会提供这两种功能之一,以便下次登录方便。 ? ?        今天要讲述的是用java操...

    高爽
  • JQuery之cookie增删改查操作

    在Java Web开发中cookie一般有两种新建方法,一种是在Java中创建维护,另一种是在前端中创建和维护。 二者之间最大的区别就是:Java中的cooki...

    林老师带你学编程
  • JS 中 cookie 的使用

    1、cookie 是什么?   ①、cookie 是存储于访问者计算机中的变量。每当一台计算机通过浏览器来访问某个页面时,那么就可以通过 JavaScript ...

    IT可乐
  • cookie注入的三种方法(靶场实例绕过WAF)

    ♦要进行cookie注入,我们首先就要修改cookie,这里就需要使用到Javascript语言了。另外cookie注入的形成有两个必须条件:

    字节脉搏实验室

扫码关注云+社区

领取腾讯云代金券