且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术》——1.7 小结

更新时间:2022-08-14 10:07:24

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

1.7 小结

我在改变——Black Sabbath,《Changes》
HTML5已经若隐若现了太长时间,使其除了作为一个标准之外还有了许多其他含义,从相关的Web Storage和Web Worker,到曾被称作“Web 2.0”的模糊概念。无论怎样,可以明确的是Web应用程序具有了更强大的特性,不断弥补桌面应用程序和纯浏览器应用程序之间的差距。热门游戏如愤怒的小鸟,能够从原生的移动应用无缝转变成网页游戏,而且在画质、音效和引人入胜的体验(对任何应用程序来说都是最主要的)等方面均没有任何损失。
HTML5现在已经存在于你的浏览器中。一些特性被部分实现,其他的仍然带有供应商前缀,即带有类似-moz、-ms或-webkit等字符串,直到某个规范成为官方规范为止。幸运的是,供应商前缀的扩散不会锁定HTML早期某个特定实现的怪异模式,也不会重现早期的编程错误模式。当你试图解决Web应用程序安全性时,需要把这些变化考虑进去。HTML5的作者非常希望保证设计的安全(至少不会比HTML的安全模型差)。因此,当浏览器添加更多的特性时候,需要观察有些领域是否发生实现中的错误:
同源策略:即基于协议、主机、端口的粗粒度安全性模型。黑客已经通过Java、插件、DNS攻击等找出了这个模型的漏洞。HTML5将继续信任这一策略的稳定性。
分成框架的内容:关于将内容按框架划分有隐私性和安全性方面的考虑。例如,广告栏不应该收集其父框架的信息。反过来,一个封闭框架也不应该能够访问其子框架的资源,如果这些资源来自另一个域。但是点击劫持攻击只依赖于对内容进行框架划分,而不对具体内容进行访问(我们将在第3章讨论该内容)。HTML5提供新的机制来处理< iframe>限制。现代网站也对DOM节点进行大量即时更新,这可能会引起同源策略混乱,或使得节点处于不确定的状态,这些都对安全不利。但这是浏览器供应商需要考虑的事情,因为他们不断同安全性和DOM进行缠斗。
复杂的浏览器应用程序越来越依赖于复杂的JavaScript。HTML5的API既可以是构建网站的工具,也可以成为漏洞利用的工具。
浏览器能够存储更多的信息,能够与更多类型的应用程序交流。浏览器内部安全模型必须能够对网站进行很好地区分,充斥着漏洞的网站不能够轻易暴露和更强健的网站相关联的数据。现代浏览器正在采纳安全编码策略和技术来保护用户,例如进程隔离。
不管浏览器采用什么技术,服务器端应用程序必须应用基本的安全原则。若仍能够通过SQL注入攻击窃取未加密的密码,将是不可原谅的错误。