webmail安全教程
2007-07-14 16:27:22 来源:WEB开发网三、邮箱密码恢复
难免会有用户遗失邮箱密码的情况,为了让用户能找回密码继续使用自己的邮箱,大多数WebMail系统都会向用户提供邮箱密码恢复机制,让用户回答一系列问题,如果答案都正确的话,就会让用户恢复自己邮箱的密码。但是,如果密码恢复机制不够合理和安全,就会给攻击者加以利用,轻松获取他人邮箱密码。下面是许多WebMail系统密码恢复机制所采取的密码恢复步骤,只有用户对每步提出的问题回答正确的话才会进入下一步,否则返回出错页面,针对每一步,攻击者都有可乘之机:
第一步:输入帐户:在进入密码恢复页面后首先提示用户输入要恢复密码的邮箱帐户。这一步对攻击者而言自然不成问题,邮箱帐户就是他要攻击的目标。
第二步:输入生日:提示用户按年月日输入自己的生日。这一步对攻击者而言也很轻松,年月日的排列组合很小,借助溯雪等工具很快就能穷举破解出来,所以WebMail系统有必要在此采取暴力破解防范措施。并且每个用户需要注意的是,攻击者不一定来自地球的另一端,很可能就是你身边的人,或许这些人更想知道你邮箱里有什么秘密,而他们要弄清你的生日往往是件轻而易举的事情,你不是昨天才过了生日party吗?你不是刚刚把身份证复印件交给人事部吗?所以,为了邮箱安全,用户是不是要把真实的生日做为邮箱注册信息,WebMail系统是不是一定要用户输入真实的生日做为注册信息,这还有待考虑。
第三步:问题回答:提示用户回答自己设定的问题,答案也是用户自己设定的答案。在这一步,攻击者往往只有靠猜测,不幸的是,很多用户的问题和答案是如此的简单,以致于攻击者能轻易的猜测出来,例如提出的问题只是知识性的问题、提出的问题和答案相同等。攻击者对用户越熟悉,成功的可能性就越大,例如有用户问“你男朋友是哪里人”,殊不知,攻击者正是她的男朋友。所以,用户把问题设置成唯有自己知道的答案至关重要,这样攻击者才很难得逞,不过不要忘了答案,否则就得不偿失了。
在用户正确完成以上各步骤以后,WebMail系统就会让用户恢复自己邮箱帐户的密码。密码恢复的方式又各有不同,一般有如下几种方式,安全程度各有不同:1、页面返回:返回的页面里显示用户的邮箱密码。这样故然方便省事,但是如果让攻击者得到密码,则能在丝毫不惊动用户的情况下使用用户的邮箱,使得攻击者能长期监视用户的邮箱使用情况,给用户带来更大的安全隐患。
2、邮件发送:将密码发送到用户注册时登记的另一个邮箱里。对于攻击者来说,忙了半天,仍然是一无所获,除非继续去攻击另一个邮箱;对于用户来说,在另一个邮箱里收到发来的密码则是一个警告,说明有攻击者猜测到了他的邮箱密码提示问题,迫使用户尽快改变自己的密码提示问题。
不过,如果用户注册时登记的不是一个正确的邮箱,或者该邮箱已经失效,那么,这样不仅是攻击者,就是用户本人也永远得不到密码了。有些WebMail系统在注册时要求用户登记正确的邮件地址,并把邮箱开通的验证信息发往该邮件地址,不过这样仍然不能避免用户在邮箱失效后不能恢复自己邮箱密码的情况发生。
3、密码重设:让用户重新设置一个密码。这种方式相比“页面返回”方式,在攻击者重设密码后,用户因为不能正常登录进自己的邮箱而能察觉出受到攻击,安全性相对好一些;但是相比“邮件发送”方式,因为攻击者能立即修改邮箱密码,少了一层保障,安全性又差一些。
由“页面返回”或“邮件发送”回来的密码可以明显看出,该电子邮件系统是把邮箱帐户的密码未经加密直接以明文保存在数据库或LDAP服务器中。这样就造成很大的安全隐患,WebMail系统管理员或侵入数据库的攻击者能轻易获取用户的邮箱密码,用户却完全不知情,所以为了加大保密性,有必要将邮箱密码加密后再以密文存入数据库,最好用不可逆的单向加密算法,如md5等。
邮箱密码恢复机制是否安全,主要还是看WebMail系统提出什么样的问题、采取什么样的问答方式,例如将多个密码恢复步骤中提出的问题放在一步中一起提出,就会相应地增加攻击者的难度从而提高安全性,像搜狐邮件、新浪邮件和yahoo电邮等都是一些令人失望的例子。
四、恶性HTML邮件
电子邮件有两种格式:纯文本(txt)和超文本(html)。Html邮件由html语言写成,当通过支持html的邮件客户端或以浏览器登录进入WebMail查看时,有字体、颜色、链接、图像、声音等等,给人以深刻的印象,许多垃圾广告就是以html邮件格式发送的。
利用html邮件,攻击者能进行电子邮件欺骗,甚至欺骗用户更改自己的邮箱密码。例如攻击者通过分析WebMail密码修改页面的各表单元素,设计一个隐含有同样表单的html页面,预先给“新密码”表单元素赋值,然后以html邮件发送给用户,欺骗用户说在页面中提交某个表单或点击某个链接就能打开一个精彩网页,用户照做后,在打开“精彩网页”的同时,一个修改邮箱密码的表单请求已经发向WebMail系统,而这一切,用户完全不知情,直到下次不能登录进自己邮箱的时候。
为了防止此类的html邮件欺骗,在修改邮箱配置时,特别是修改邮箱密码和提示问题时,WebMail系统有必要让用户输入旧密码加以确认,这样也能有效防止载取到当前WebMail会话的攻击者(下面会介绍)更改邮箱密码。
通过在html邮件中嵌入恶性脚本程序,攻击者还能进行很多破坏攻击,如修改注册表、非法操作文件、格式化硬盘、耗尽系统资源、修改“开始”菜单等,甚至能删除和发送用户的邮件、访问用户的地址簿、修改邮箱帐户密码等等。恶性脚本程序一般由JavaScript或VBScript脚本语言写成,内嵌在html语言中,通过调用ActiveX控件或者结合WSH来达到破坏攻击目的。深受修改浏览器的恶性html页面之痛,饱经“欢乐时光”邮件病毒之苦的朋友,对此应该不会陌生。下面是两个简单的恶性脚本程序:
1、打开无数个浏览器窗口,直至CPU超负荷,非关机不可:
<script language="JavaScript">
<!--
while (true)
{
window.open("URI"); //如果URI就是当前页本身,那就更具破坏性。
}
//-->
</script>
2、修改注册表:
<script language="VBScript">
Set RegWsh = CreateObject("WScript.Shell")
'设置IE浏览器默认页
RegWsh.RegWrite "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "http://www.attacker.com"
</script>
更多精彩
赞助商链接