• 谁动了我的琴弦——会话劫持


    谁动了我的琴弦——会话劫持

    让我们看一个最常见的例子——会话劫持,如图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》

    王文君  李建蒙 编著

    电子工业出版社出版

  • 相关阅读:
    ios js交互
    再次记录 cocoapods
    CABasicAnimation
    mysql授权
    很简单的代码,但是无法解释的错误
    4款开源免费的数据可视化JavaScript库
    【工具】获取窗口与控件信息
    从网易搬家来的49篇日志
    Git Extensions system.invalidoperationexception尚未提供文件名,因此无法启动进程
    哆啦A梦欺骗了你!浏览器CSS3测试遭质疑
  • 原文地址:https://www.cnblogs.com/broadview/p/2853107.html
Copyright © 2020-2023  润新知