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

0x01 什么是cookie?

主要是验证用户的身份的唯一标识。

0x02 cookie注入的原理是什么?

既然是cookie注入,不管是http,还是https协议,其实就是对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之困
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值