基于HTML5的Web前端安全性研究

2016-05-14 22:04李驰李林
软件导刊 2016年5期

李驰 李林

摘要:Web安全的重点正从服务器端转移到Web前端。伴随着HTML5新技术的兴起, Web前端的安全问题更为突出。对传统的Web前端安全问题XSS、CSRF、界面操作劫持进行了阐述,对由HTML5中的新标签属性、Web Workers、Web Storage、postMessage、CSS3等新技术所带来的安全问题进行了全面细致的分析,给出了一系列安全策略。

关键词:Web前端;XSS;CSRF;界面操作劫持;HTML5

DOIDOI:10.11907/rjdk.161088

中图分类号:TP309

文献标识码:A 文章编号:1672-7800(2016)005-0185-03

0 引言

网络安全总是随着时代的变迁而变化的。早期的互联网,Web并非主流应用,因为功能很弱,黑客们往往不屑攻击。随着互联网的发展,Web功能日渐强大,防火墙等技术的应用,使得非Web服务很难被攻击,于是黑客们将攻击重点转向了Web应用。如果说早期Web1.0时代的安全性问题主要体现在操作系统、缓冲区溢出、数据库SQL注入等Web服务器端的话,那么到了Web2.0时代,安全问题就集中在XSS、CSRF、ClickJacking等Web前端。伴随着移动互联的发展,HTML5技术成为大量黑客的目标。所以,本文对于传统的Web前端以及HTML5出现后所带来的安全问题进行了研究和探讨。

1 传统的Web前端安全性问题

1.1 XSS

XSS全称Cross Site Script,中文名跨站脚本攻击,它是指由于黑客往网页中注入了恶意的脚本,从而导致浏览器在呈现页面时执行了非预期的恶意功能。XSS分为3种类型:①反射型XSS,是黑客利用一些社会工程学诱骗用户点击一个恶意链接,服务器直接将这个带有恶意脚本的内容反射给用户的浏览器,从而攻击成功;②存储型XSS,是黑客在自己的浏览器中提交一段带有恶意脚本的留言,这个留言会被服务器保存到数据库中,下次其它用户查看这段留言时就会被攻击;③DOM Base XSS,属于一种特殊的反射型XSS,不需要被服务器端解析响应,直接在浏览器客户端被JavaScript代码解析。下面来看一个典型的反射型XSS。

黑客诱骗用户点击了如下一个链接: