天天看点

《Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术》——1.1 新的文档对象模型

本节书摘来自华章计算机《Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术》一书中的第1章,第1.1节,作者:(美) 希马(Shema, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

欢迎使用,这个简单的声明会使得网页正式成为HTML5网页。W3C在<code>http://www.w3.org/TR/html5-diff</code>提供了一个文档,该文档描述了HTML5和HTML4之间的巨大差别,下面的列表显示了这些有趣的变化。

你所需要的仅仅只有。现代浏览器将会以此作为指令,采纳解释HTML的标准模式,不再需要争论HTML和XHTML哪个更好,也不再需要为文档类型声明添加DTD。

编码格式倾向于使用UTF-8。这种编码格式最便于HTTP传输,同时与大多数语言表达方式保持兼容。要注意其他字符编码与UTF-8在相互转换过程中可能产生的安全错误。

HTML解析有了明确规则。不再依赖或受制于浏览器实现中的怪异模式,怪异模式导致模棱两可,从而导致不安全。明确指示如何处理无效字符(例如NULL字节)或不匹配标签,减少了浏览器“修正”HTML以防注入攻击。

新的标签及属性宣告了依赖于黑名单的安全过滤程序的末日。对HTML4规范中列出的每个标签的所有细心关注,在HTML5中也需要做到。

复杂性的增加意味着安全性的减弱,捕获暴露弱点的极端状况以及病态情况变得更加困难。

全面增加新的API,从媒体元素到Base64转换,再到注册定制协议处理程序。这增加了实现的复杂性,可能会在浏览器中引入bug。

本章将介绍其中一些特定问题,其他问题将会在其他章节进行介绍。

继续阅读