教学之友,学习之友。

站长教学网

webmail安全实战教程(3)

时间:2012-03-25 23:26来源:未知 作者:ken 点击:


四、恶性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>


鉴于脚本程序可能带来的危险,WebMail系统完全有必要禁止html邮件中的脚本程序。禁止脚本程序的基本做法就是过滤掉html源程序中能够使脚本程序运行的代码,如script元素等,在这方面做的最好的莫过于hotmail了。下面是些常见的绕过脚本程序过滤的方法,不少的WebMail系统仍然没有完全改正:

  (1) 在html语言里,除了script元素内的或在script元素内引入的脚本程序能在html页面装载时被运行外,使用事件属性也能调用脚本程序运行,事件属性在javascript语言里被称为事件句柄,用于对页面上的某个特定事件(如鼠标点击、表单提交)做出响应,驱动javascript程序运行。它的语法如下:

  <tag attribute1 attribute2 onEventName="javascript code;">

  例如:

<body onload="alert('javascript#1 is executed');">
<a href="#" onclick="alert('javascript#2 is executed');">Click here</a>
<form method="post" action="#" onsubmit="alert('javascript#3 is executed');">
<input type="submit" value="Submit">
</form>
</body>

  (2) URI(Universal Resource Identifier:通用资源标识)用于定位Internet上每种可用的资源,如HTML文档、图像、声音等。浏览器根据URI的资源类型(URI scheme)调用相应的程序操作该资源,如果把一些元素的URI属性值的资源类型设为javascript,则能够调用javascript程序运行。语法如下,注意要用“;”分隔不同的javascript语句:

  <tag attribute="javascript:javascript-code;">

  例如:

<body background="javascript:alert('javascript#1 is executed');">
<a href="javascript:alert('javascript#2 is executed');">Click here</a>
<form method="post" action="javascript:alert('javascript#3 is executed');">
<input type="submit" value="Submit">
</form>
<img src="javascript:alert('javascript#4 is executed');">
</body>

(责任编辑:ken)
TAG标签: mail 邮件 webmail
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容