谁动了我的琴弦——会话劫持让我们看一个最常见的例子——会话劫持,如图10-2所示。图10-2 会话劫持说明如图10-2所示,受害者Alice正常的登录网
.
.
谁动了我的琴弦——会话劫持..
让我们看一个最常见的例子——会话劫持,如图10-2
所示。..

.. ..
图10-2
会话劫持说明..
如图10-2
所示,受害者Alice
正常的登录网站为www.buybook.com
,此时她的Session ID
是1234567
,***者Bob
通过网络嗅探获得了Alice
的Session ID
和Cookie
中的用户登录信息,这样他就可以模仿Alice
进行登录和操作了,而此时此刻Alice
可能毫无所知。..
最常见的获取Session ID
的方式就是我们前面讲解的XSS
。下面通过具体的步骤详细地模拟会话劫持。..
➊我们正常地登录一个网站(这里用Google Chrome
),登录的用户名是admin
,记录好登录后的JSESSIONID
,如图10-3
所示。..

.. ..
图10-3
正常登录的Session ID..
➋我们打开另一个浏览器Firefox
,我们尝试访问一个私密链接:http://localhost/ puzzlemall/private/viewprofile.jsp
,这时浏览器会提示我们登录。这说明这个链接需要登录以后才能观看,如图10-4
所示。..

.. ..
图10-4
我们在尝试访问一个私密链接..
➌ 打开WebScrab并开启Proxy中的“Intercept requests”功能,并把Firefox的代理设置成WebScrab的IP和端口(8008),然后再次访问这个私密链接,这时WebScrab会截获这个请求,然后修改JSESSIONID为上面admin用户的JSESSIONID,如图10-5所示,提交。..

.. ..
图10-5
利用WebScrab
抓取并修改请求..
➍ 这时我们会发现进入了admin
用户的个人信息(profile
)页面。这说明我们成功地以admin
用户的身份进行了登录,如图10-6
所示。当然了,这个例子只是一个会话劫持的模拟,在实际的网络中,JSESSIONID
往往是通过XSS
泄露出去的(或者没有走安全的协议而被嗅探)。..

.. ..
图10-6
成功地利用别人的会话访问了私密页面.. ..
本文节选自《Web
应用安全威胁与防治——基于OWASP Top 10
与ESAPI
》..

..
王文君李建蒙编著..
电子工业出版社出版.. ..