**一、WebStorage简介**

HTML5支持WebStorage,开发者可以为应用创建本地存储,存储一些有用的信息。例如LocalStorage可以长期存储,而且存放空间很大,一般是5M,极大的解决了之前只能用Cookie来存储数据的容量小、存取不便、容易被清除的问题。这个功能为客户端提供了极大的灵活性。

**二、攻击方式**

LocalStorage的API都是通过Javascript提供的,这样攻击者可以通过XSS攻击窃取信息,例如用户token或者资料。攻击者可以用下面的脚本遍历本地存储。

~~~

if(localStorage.length){

for(I in localStorage) {

console.log(i);

console.log(localStorage.getItem(i));

}

}

~~~

同时要提一句,LocalStorage并不是唯一暴露本地信息的方式。我们现在很多开发者有一个不好的习惯,为了方便,把很多关键信息放在全局变量里,例如用户名、密码、邮箱等等。数据不放在合适的作用域里会带来严重的安全问题,例如我们可以用下面的脚本遍历全局变量来获取信息。

~~~

for(iin window) {

obj=window[i];

if(obj!=null||obj!=undefined)

var type =typeof(obj);

if(type=="object"||type=="string") {

console.log(“Name:”+i);

try {

my = JSON.stringify(obj);

console.log(my);

} catch(ex) {}

}

}

~~~

**三、攻击工具**

[HTML5dump](http://code.google.com/p/html5dump/)的定义是“JavaScriptthat dump all HTML5 local storage”,它也能输出HTML5 SessionStorage、全局变量、LocalStorage和本地数据库存储。

![](https://box.kancloud.cn/2016-08-09_57a9aa53868b6.jpg)

**四、防御之道**

对于WebStorage攻击的防御措施是:

1、数据放在合适的作用域里

例如用户sessionID就不要用LocalStorage存储,而需要放在sessionStorage里。而用户数据不要储存在全局变量里,而应该放在临时变量或者局部变量里。

2、不要存储敏感的信息

因为我们总也无法知道页面上是否会存在一些安全性的问题,一定不要将重要的数据存储在WebStorage里。

原创文章,转载请注明:来自[蒋宇捷的博客](http://blog.csdn.net/hfahe)

html5 web storage攻击,HTML5安全风险详析之二:Web Storage攻击相关推荐

  1. HTML5安全风险详析之三:WebSQL攻击

    原文地址:http://blog.csdn.net/hfahe/article/details/8049414 一.WebSQL安全风险简介 数据库安全一直是后端人员广泛关注和需要预防的问题.但是自从 ...

  2. 大数据WEB阶段(六)MySql详解(二)

    MySql详解(二) 一.分组查询 语法: select col_name1,col_name2... from tb_name group by having ...; 练习: 执行下面的SQL,创 ...

  3. 基于easyui开发Web版Activiti流程定制器详解(二)——文件列表

     上一篇我们介绍了目录结构,这篇给大家整理一个文件列表以及详细说明,方便大家查找文件. 由于设计器文件主要保存在wf/designer和js/designer目录下,所以主要针对这两个目录进行详细 ...

  4. Web端即时通讯技术原理详解

    Web端即时通讯技术原理详解 前言 在web端的IM即时通讯应用,由于浏览器的兼容性以及其固有的"客户端请求服务器处理并响应"的C/S通信模型,造成了要在浏览器中实现一个兼容性较好 ...

  5. html5代码转换为视频,HTML5中的视频代码详解

    摘要 腾兴网为您分享:HTML5中的视频代码详解,智学网,云闪付,易推广,小红书等软件知识,以及360win10,流量魔盒,fitbit,上港商城,安卓2.3.7,全民惠,五年级下册英语单词表图片,t ...

  6. HTMl5的存储方式sessionStorage和localStorage详解

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage.sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有 ...

  7. html5 dom storage,Client-side data storing,DOM storage or HTML5 Local Storage?

    问题 Im really confused when thinking about my requirement to store data locally for offline viewing.N ...

  8. web前端开发示例_40多个针对Web开发人员HTML5教程和示例

    web前端开发示例 HTML 5 offers a lot of new features to help web developers. In the last few days, I have r ...

  9. html5 canvas绘制图形,html5 Canvas绘制图形入门详解

    html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...

最新文章

  1. python创建txt文件-python创建txt文件
  2. 手术期间重读《倚天屠龙记》
  3. python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...
  4. Select-or-Die:灵活的 jQuery 下拉列表插件
  5. 函数指针以及在类成员函数中应用函数指针
  6. std::string std::wstring 删除最后元素 得到最后元素
  7. 前端学习——页面布局
  8. excel如何把顺序倒过来_在excel中怎么使文字颠倒顺序反过来显示呢?
  9. 夏普PC_1500计算机使用,夏普PC-1500袖珍计算机的检修(续)
  10. IAR9.30以上版本安装、注册、新建工程和配置过程详细介绍
  11. 太阳方位角 太阳天顶角
  12. 1160. 不容易系列之二
  13. 暗影精灵4如何调节风扇转速_惠普暗影精灵4 简单几步设置让游戏画面更流畅
  14. 邮件营销(群发邮件)
  15. Uboot DM9621网卡移植之路
  16. Javascript-循环
  17. 试题 C: 数列求值
  18. sum idx i matlab,聚类——FCM的matlab程序
  19. 湖南省中小学教师计算机培训,隆回信技术应用能力提升工程2.0管理团队和培训团队在长沙开班...
  20. CCF A类会议或期刊----多视图,多模态近两年论文

热门文章

  1. 象过河软件试用版_比肩许银川蒋川王天一,象棋软件下出神一样的残局,看完叹为观止...
  2. ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER
  3. xLite连接asterisk提示sip408错误
  4. java第七章jdbc课后简答题_Java周测题08.13
  5. c语言判断闰年_C语言1博客作业06 - D丶千思
  6. win10命令提示符怎么打开_Win10系统防火墙怎么打开?ARP防火墙启用步骤
  7. AE开发右键缩放至图层
  8. 【转】DICOM开发工具总结
  9. 【转】C#中枚举类型与静态变量
  10. ASP.NET Core真实管道详解[2]:Server是如何完成针对请求的监听、接收与响应的【上】