通过查找各方面的资料,将了解到html5中可能存在的一些安全风险做了一个初步的整理,还不太完善期待大家的不断丰富。
新的标签和属性导致的XSS风险
新的html5标准中,新增了许多新的标签和属性,这些新增的标签和属性中存在xss的风险。
新标签:video、audio
新属性:formaction、onformchange、onforminput、autofocus
1、formaction 属性xss
<form id="test" /><button form="test" formaction="javascript:alert(1)">X
<form><button formaction="javascript:alert(1)">X
支持的浏览器:
Firefox、opera、google chrome、safari
Formaction属性指定了当一个form被提交时,把form数据发到哪个页面,该属性优先于form标签的action属性。
点击按钮后出发XSS
2、autofocus 属性onfocus
<input type="text" onfocus=alert(111) size="20" autofocus>
支持的浏览器:
Firefox、opera、google chrome、safari
input标签自动获取焦点属性,与onfocus属性配合,可以实现一打开页面自动运行js脚本的目的。
autofacus属性是一个布尔属性,当该属性存在时,它标识当页面加载后<input>标签自动获取焦点。
onfocus 属性 当元素获得焦点时执行脚本
3、autofocus 属性 onblur
<input type="text" onblur=alert(111) size="20" autofocus>
支持的浏览器:
Firefox、opera、google chrome
onblur 属性 当元素失去焦点时执行脚本
……………………
查看全文请点击下载:http://www.51testing.com/html/11/n-832511.html
三、本地存储的安全隐患
1、函数介绍:
HTML5通过使用localStorage进行本地存储,每个域的存储数据默认是5M,比起Cookie的4K存储要大很多。
使用方法:
localStorage.setItem('name1', abc);
localStorage.getItem('info')
2、安全风险:
(1)localStorage采用明文存储,如果用户不主动删除,数据将永久存在。
(2)本地存储容易遭到DNS欺骗攻击。通过dns欺骗可以获取指定域名下本地存储的数据。参见《GoogleGears_for_Attackers》
(3)localStorage存储没有路径的概念,url中所有路径的页面都可以访问全部的数据,容易遭到跨目录攻击。有一个页面出现XSS,所有该url的本地数据都可以读取。
(4)不宜使用localStorage来代替cookie做身份验证。cookie有HTTPONLY的保护,而localStorage没有任何保护机制,一旦有XSS漏洞使用localStorage存储的数据很容易被获取。