首页  |  论坛  |  资讯  |  新知  |  互助吧  |  上网指南  |  站长学院  |  商务应用  |  每日新知  |  网络组建  |  PHP开源  |  时代观察  |  电脑教室  |  互联网创业
图片  |Google|  专题  |  春运  |  新发现  |  教你一招  |  病毒安全  |  源码下载  |  下载频道  |  数字产品  |  java开源  |  网络文明  |  网站动态  |  博客加油站
  栏 目 导 航
Fedora邮件服务器
MDaemon邮件服务器
qmail邮件服务器
Samba/Imail服务器
Sendmail邮件服务器
twig架设WebMail系统
WebEasyMail邮件服务器
Windows2003 Mail
企业邮件服务器
邮件服务器安全
邮件服务器方案
  
Webmail攻防实战(7)
编辑整理:52net.com  最后更新  2006-10-17

Cookie会话跟踪除了上面提到的安全缺陷外,还存在如下缺点:

  (1) 并不是每个浏览器都支持cookie,有些用户为了防止泄露隐私以及从安全性上考虑,可能会禁用浏览器的cookie。

  (2) 由于功能限制或者设置有误,代理服务器不能够代理cookie,导致通过代理服务器上网的用户不能登录进入以cookie进行会话跟踪的WebMail。

  六、URL会话攻击

  一些WebMail系统胆敢在客户端不支持cookie时拒绝提供WebMail服务,如新浪、搜狐等WebMail系统,而另一些WebMail系统则视用户为上帝,使用URL会话跟踪技术来维护与客户端交互的状态,如163.net、263.net、21cn.com等。

  URL会话跟踪是把一些标识会话的字符串加在URL里面,对于客户端的每一个http连接请求,服务端都会把URL里的会话标识和它所保存的会话数据关联起来,从而能够区分不同的客户端,以及进行用户会话跟踪。下面是在浏览器的地址栏里看到的一些WebMail的URL,看起来会很长甚至有些怪:

  http://bjweb.163.net/cgi/ldapapp?funcid=main&sid=HAPGfUDusCLAQSIm
  http://WebMail.21cn.com/extend/gb/std/username/
NV0416qxMftyKnOcavGDktOmIEvPsb/SignOn.gen

  在关闭浏览器后,保存在服务器里的会话关联数据并不会立即失效,一段时间内WebMail的URL仍然有效,他人只要从浏览器的历史记录里找到该URL,就可以点击进入用户的WebMail,并不需要任何密码验证,所以用户在退出WebMail时,不应该直接关闭浏览器,应该点击WebMail上的“退出”来退出,这样才会清空会话,使WebMail的URL失效,那些在网吧等公共场所上网的用户尤其要注意这一点。

  如果攻击者知道WebMail系统的URL会话机制,能猜到WebMail的会话标识,那么就能找到WebMail的URL,在浏览器地址栏里输入相同的URL就能轻易地进入用户的WebMail,所以WebMail系统应该使用较长的、随机的字符串做为会话标识,使攻击者难以猜测。

  不过,即使WebMail系统的URL会话机制再复杂、会话标识再长,对攻击者而言,要想获得用户WebMail的URL,往往就像探囊取物一般容易。

  javascript程序中的window.location、location.href、document.URL、document.location、document.referrer等对象属性都可以用来获取WebMail的URL,攻击者只要在html邮件中放入一段脚本代码就可以获取URL,并且能偷偷地发送给攻击者,类似的代码可以参考“cookie会话攻击”一节里的一段演示程序。

  Http协议(RFC2616)里规定http请求头域“referer”用于指明链接的出处,即指明来自客户端的这个连接请求是从哪个URI地址提交过来的,例如用户点击页面上的某个链接地址后,发出的referer域的内容就是当前页面的URI地址。CGI编程中的环境变量“HTTP_REFERER”用于获取http请求头域“referer”,下面是一个在Linux下用shell写的CGI程序:

  #!/bin/sh
  #set -f

  echo Content-type: text/plain
  echo

  #写入日志,geturl.log文件权限要可写
  echo "`date` $REMOTE_ADDR $HTTP_REFERER" >> /var/log/geturl.log

  #即时通知攻击者
  wall "`date` 收到WebMail url,请检查日志"

  #返回给客户端的信息,用于迷惑用户
  echo "你好!"

  攻击者把这个CGI程序放在自己的web服务器上,然后把该CGI程序的URL地址以单独一行放在txt邮件里发给用户,URL地址会自动变成链接地址,受到欺骗的用户点击后,攻击者就获得了用户WebMail的URL。当然攻击者也可以把CGI程序的URL地址放在html邮件里做为链接地址让用户来点击,或者就用脚本程序或框架技术使这个CGI程序自动运行,或者干脆把这个CGI程序的URL地址放在html邮件源代码img元素的src属性值,虽然显现不出图片,但这个CGI程序照样会收到http连接请求,从而获得WebMail的URL。

  Web服务器的日志记录也能获取referer域的内容,以apache为例,在httpd.conf文件中修改或加入如下配置参数:

  LogFormat "%t %h %{Referer}i -> %U" referer
  CustomLog /usr/local/apache/logs/referer_log referer

  这样对web服务器的每一个http连接请求的referer域的内容都会写到referer_log日志文件里去,攻击者只要分析日志文件就能够知道用户WebMail的URL了。WebMail系统如果支持html邮件的话,总不可能会禁止html邮件中使用图像,攻击者在发给用户的html邮件中放入一张src地址在自己web服务器上的图片,也就能轻易地获取WebMail的URL。

  这样一来,深怀恶意的攻击者花点小钱去做邮件服务商提供的WebMail旗帜广告,广告的图片则是放在攻击者的web服务器上,那么攻击者就能每天坐收成千上万用户的WebMail了

 1、本站文章部分来源于互联网,转载是为了更好信息共享。如果侵犯了您的合法权益,请及时  通知我们,我们将第一时间删除。
 2、52net阶梯网力倡IT文化,崇尚互联共享,欢迎各种媒体转载我们的原创文章,转载请注明  出处(包括作者):52net阶梯网(www.52net.com)
相关文章
 
热点文章
  
推荐文章
关于我们 | 免责说明 | 人才招聘 | 给我留言 | 联系我们 | 友情链接 | 网站地图
Copyright @ 2006-2008 52net.com. All rights reserved. 52net阶梯网 版权所有
京ICP备05070331号