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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值