当前位置: 首页 > news >正文

【web-攻击用户】(9.7.1)本地隐私攻击:持久性cookie、缓存Web内容、浏览历史记录、Flash本地共享对象……

目录

本地隐私攻击

1.1、简介:

1.2、持久性cookie

简述:

过程:

1.3、缓存Web内容

简述:

过程:

1.4、浏览历史记录

简述:

1.5、自动完成

简述:

过程:

1.6、Flash本地共享对象

简述:

过程:

1.7、Silverlight独立存储

1.8、HTML5本地存储机制

1.9、防止本地隐私攻击


本地隐私攻击

1.1、简介:

1、许多用户从共享的环境中访问Web应用程序, 这时攻击者可直接访问用户访问的同一台计算机。在这种情况下, 如果应用程序存在漏洞,它们的用户就易于受到一系列攻击。这类攻击主要针对以下领域

2、应用程序可能会采用各种机制在用户的计算机上存储敏感信息。许多时侯, 为测试应用程序是否采用了某种存储机制,最好是使用完全干净的浏览器,以便于接受测试的应用程序存储的数据不会丢失在已存储的现有数据中。最理想的方法, 是使用包含全新安装的操作系统和任何浏览器的虚拟机。

3、在某些操作系统上,在使用文件系统内置的管理器时,包含本地存储数据的文件和文件夹在默认情况下可能处于隐藏状态,为确保标识所有相关数据,应将计算机配置为显示所有隐藏文件和操作系统文件

1.2、持久性cookie

简述:

一些应用程序将敏感数据保存在持久性cookie中,大多数浏览器将该cookie存放在本地文件系统上


过程:

1、检查应用程序解析过程中确定的所有cookie,如果发现有任何Set-cookie指令包含将来日期的expires属性,那么浏览器会将相关cookie保存到这个日期

2、如果某个持久性cookie中包含任何敏感数据,本地攻击者就能够截获这些数据。即使持久性cookie中包含的是加密值,但如果这个值发挥着非常关键的作用(如不符用户输入证书即可重新验证其身份),则截获这个值的攻击者根本不用破译它的内容,就可以将它重新提交给应用程序

1.3、缓存Web内容

简述:

大多数浏览器将非SSL Web内容保存在缓存中,除非Web站点特别指示不要这样做。缓存数据一般保存在本地文件系统中


过程:

1、对于任何通过HTTP访问和包含敏感数据的应用程序页面,应检查服务器响应的内容确定所有缓存指令

2、下面的指令可阻止浏览器缓存某个页面,这些指令可以在HTTP响应消息头或HTML元标签中指定

3、如果未发现这些指令,相关页面很可能会被一个或几个浏览器缓存。每个页面都会执行缓存指令, 因此必须检查每一个基于HTTP的敏感页面

4、为确保缓存敏感信息,应使用一个默认安装的标准浏览器(如Firefox)在浏览器的配置中,完全清除它的缓存和全部cookie ,然后访问包含敏感数据的应用程序页面。检查出现在缓存中的文件, 看其中是否包含敏感数据。如果有大量文件生成,可以从页面的源代码中提取一个特殊的字符串, 并在缓存中搜索该字符串

1.4、浏览历史记录

简述:

许多浏览器都保存有浏览历史记录, 其中可能包含通过URL参数传送的任何敏感数据。

1、确定应用程序中通过过URL参数传送敏感数据的任何情况。
2、如果存在这样的情况,应检查浏览器的历史记录,证实这些数据已经保存在那里

1.5、自动完成

简述:

许多浏览器对基于文本的输入字段执行一项可由用户配置的自动完成功能,这些字段可保存诸如信用卡号码、用户名与密码之类的敏感数据。Firefox将自动完成数据保存在注册表与文件系统中。

如前所述,除可被本地攻击者访问外,在某些情况下,保存在自动完成缓存中的数据也可通过XSS攻击获取


过程:

1、检查可从其文本字段中获取敏感数据的任何表单的HTML源代码。

2、如果没有在表单标签或输入字段的标签中设置autocomplete=off属性, 输入的数据将保存在已启用自动完成的浏览器中

1.6、Flash本地共享对象

简述:

Flash浏览器扩展实施它自己的本地存储机制,这种机制称为本地共享对象(LSO), 也称为Flash cookie。与其他多数机制不同,存储在LSO中的数据可在不同的浏览器之间共享,只是这些浏览器安装了Flash扩展。


过程:

1、有一些用于Firefox的插件(如BetterPrivacy)可浏览由个体应用程序创建的LSO数据

2、可以直接查看磁盘上的原始LSO数据的内容,这些数据的位置因浏览器和操作系统而异

1.7、Silverlight独立存储

silverlight浏览器扩展实施自己的本地存储机制,这种机制称为Silverlight独立存储。

可以直接在磁盘上的原始silverlight独立存储数据的内容

1.8、HTML5本地存储机制

会话存储、本地存储、数据库存储

测试其用法及查看存储的任何数据的方式因浏览器而异

1.9、防止本地隐私攻击

1、即使敏感数据经过加密,应用程序也应避免将其保存在待久性cookic中,因为截获这些数据的攻击者可重新将其提交给应用程序。

2、应用程序应使用适当的缓存指令防止浏览器保存敏感数据,在ASP应用程序中,下面的指示将在服务器中包含必要的指令

<% Respons.CacheControl="no-cache" %>

<% Respons.AddHeader "pragma", "no-cache" %>

<% Respons.Expires=0 %>


3、应用程序决不能使用URL传送敏感数据,因为有许多位置都可能记录这些URL,应用程序应使用通过POST方法提交的HTML表单传送所有这些数据

4、任何时候,如果用户在文本输入字段中填入敏感数据,都应在表单或字段标签中指定autocomplete=off属性

5、其他客户端存储机制,如HTML5即将引入的新功能,将为应用程序提供实施重要功能的机会,包括更快速地访问特定的用户数据,并能够在网络访问不可用时继续工作。如果需要在本地存储敏感数据,最好是对这些数据进行加密,以防止攻击者直接访问它们。此外应告知用户存储在本地的数据的本质,向他们警告攻击者本地访问这些数据的风险,以便其在需要时禁用此功能。

相关文章:

  • Linux shell 内建命令
  • 计算机网络 --- TCP与UDP协议
  • Redis缓存的连环炮面试题
  • 9月17日 杭州站 | Serverless Developer Meetup 开启报名
  • django+django-haystack+Whoosh(后期切换引擎为Elasticsearch+ik)+Jieba+mysql
  • 【020】基于Springboot+Vue的学生成绩教务管理系统(含教师、学生、管理员身份)含源码、数据库、运行教程
  • 基于KubeEdge的边缘节点分组管理设计与实现
  • Docker(精简版)
  • 猿创征文|Apache ShenYu网关插件介绍
  • 全志V853开发板开发进阶——GPADC
  • 表单(非常非常重要)
  • 【JavaScript】一文了解JS的闭包
  • 2022前端vue面试题
  • docker相关试题
  • python 之名称空间与作用域
  • js
  • js ES6 求数组的交集,并集,还有差集
  • mongo索引构建
  • mysql 数据库四种事务隔离级别
  • oldjun 检测网站的经验
  • Python学习之路13-记分
  • Sequelize 中文文档 v4 - Getting started - 入门
  • underscore源码剖析之整体架构
  • 二维平面内的碰撞检测【一】
  • 今年的LC3大会没了?
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 前嗅ForeSpider中数据浏览界面介绍
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 字符串匹配基础上
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • k8s使用glusterfs实现动态持久化存储
  • MPAndroidChart 教程:Y轴 YAxis
  • ​虚拟化系列介绍(十)
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 达梦数据库知识点
  • ###C语言程序设计-----C语言学习(6)#
  • #QT项目实战(天气预报)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (12)Hive调优——count distinct去重优化
  • (145)光线追踪距离场柔和阴影
  • (C++20) consteval立即函数
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (Oracle)SQL优化技巧(一):分页查询
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (算法)前K大的和
  • (转)大型网站的系统架构
  • (转载)利用webkit抓取动态网页和链接
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET构架之我见
  • .net解析传过来的xml_DOM4J解析XML文件
  • .NET应用架构设计:原则、模式与实践 目录预览