您的位置:首页 > 其它

session fixation攻击

2015-08-10 17:54 357 查看
什么是sessionfixation攻击

Session fixation有人翻译成“Session完成攻击”,实际上fixation是确知和确定的意思,在此是指Web服务的会话ID是确知不变的,攻击者为受害着确定一个会话ID从而达到攻击的目的。在维基百科中专门有个词条
http://en.wikipedia.org/wiki/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了

在javaEE中, 情景1应该是不可能的吧, 因为session的ID都是由服务器产生的

对于现在的浏览器,情景3估计也是不可能的吧.

只有情景2最靠谱, 先自己访问下某网站,获取自己的session ID,然后把这个sessionID拼接在网址后面发给别人访问,只要那个人一登录, 我们也就相当于登录了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: