10.3 请君入瓮–会话固定(1)
会话固定也是会话劫持的一种类型。会话劫持是攻击者偷走受害者与服务器建立链接的会话,而会话固定是攻击者事先建立一个会话,然后诱使受害者使用此会话进行登录,如图10-7所示。
图10-7 一种简单的会话固定攻击方式
简单地解释一下图10-7所示的流程。
攻击者Bob以一个合法的用户身份登录www.buybook.com。
服务器与Bob建立了一个会话,sessionid为1234567(这里只是一个示例,大家不要在乎sessionid的位数对不对)。
Bob构造了一个URL:http://www.buybook.com/login.jsp?sessionid=1234567,发给了受害者Alice。
Alice不小心打开此链接进行了登录。
Alice输入她的合法用户名和密码,注意,由于此时的sessionid预先已经被Bob设置为1234567了。
这时Bob如果输入http://www.buybook.com/viewprofile.jsp?sessionid=1234567,就可以看到Alice的个人信息(profile)了,因此sessionid此时就是代表了Alice。
一般来说,会话固定可以通过下面几种方式实现。
(1)在URL中注入Session ID,这是最简单的一种方式,当然也最容易被检测到。
(2)用隐藏的表单字节。攻击者可以构造一个很像登录方式的登录表单并设定Session ID,然后诱惑用户登录。
(3)通过跨站脚本用客户端脚本来设定Cookie,如攻击者可以构造一个链接如下:http://www.buybook.com/viewprofile.jsp?p=30。
(4)通过跨站脚本用标签进行设定,如攻击者可以构造一个链接如下:http://www. buybook.com/viewprofile.jsp?p=30。
原文地址:http://book.51cto.com/art/201212/374029.htm