计算机应用论文格式范文参考Web客户端数据是指由Web应用发起的、并由浏览器或浏览器插件执行和控制的、在Web用户的系统上保存的数据,这些数据大多与Web用户有关.
自从采用简单的Cookies作为HTTP的状态管理机制以来,Web站点就开始在用户的系统上保存数据.
摘要:Web客户端数据是指Web应用在Web客户端保存的数据.
其存储机制已经从最初仅存储ID值的Cookies发展到能够保存重要个人信息的客户端数据库.
Web客户端数据存储的发展,给Web应用和终端用户都带来了新的安全风险.
文章介绍了客户端数据存储的不同技术,分析了客户端数据存储的安全风险,给出了防范这些安全风险的措施和建议.
关键词:Web应用,Web客户端数据存储,安全风险,应对策略0引言为了满足Web应用的需求,后来出现了新的Web客户端数据存储技术.
这些新技术常常使用其他存储机制,比如数据库,并且一般提供比Cookies更多的存储容量.
Web客户端数据存储技术的发展和广泛采用,给Web应用带来了新的安全风险.
比如客户端数据损坏、客户端数据泄露、客户端XSS和SQL注入等.
这些风险会影响到Web应用的安全与可靠运行.
1Web客户端数据存储技术目前存在多种Web客户端数据存储技术,除了Cookies,还有微软的IEUserData和Silverlight、Adobe的Flash、Oracle的Java,以及与HTML5有关的WebSQL数据库(WebSQLDatabase)、Web存储(WebStorage)、索引数据库API(IndexedDatabaseAPI)等.
在这些存储技术中,Cookies被所有的浏览器支持.
其他技术则仅在部分浏览器中得到支持,并且有的技术还需要安装相应的浏览器插件才可以使用,如Flash.
为了防止不同的Web应用读取彼此的数据,上述所有的存储技术都采用了同一来源策略机制.
来源通常由主机名(如www.
sohu.
com)、端口号,以及传输协议等界定.
浏览器会记录所有Web客户端数据的来源.
当某个Web应用访问本地存储的数据(即Web客户端数据)的时候,浏览器将检查该Web应用的来源和被访问数据的来源,只有当二者匹配的时候才允许访问[1].
大多数Web客户端数据存储技术并不指定数据在客户端的保存期限,因此数据将一直保存在用户系统上,除非主动删除它们.
不过Cookies是一个例外,它允许指定数据的到期时间.
另外,不同的存储技术采用不同的存储机制,如纯文本、XML、数据库或其他专有的格式.
Web客户端数据的使用方式依赖于特定的Web应用.
大多数情况下,数据被用作Web应用的输入.
有时候数据也在本地使用,由客户端脚本加载它们,用以创建动态网页.
表1给出了目前常见的Web客户端数据存储技术.
2Web客户端数据存储的安全风险2.
1客户端XSS跨站脚本XSS(Cross-SiteScripting)是目前Web应用中非常流行的漏洞.
不同类型的XSS具有相同的特征:允许恶意JavaScript脚本在用户浏览器中运行.
由于脚本是在被攻击的Web站点的上下文中运行的,因此攻击者可以访问正常情况下不能访问的资源.
XSS的传统形式是反射XSS,其特点是恶意脚本被用户发送到Web服务器(比如用户无意中点击了一个恶意链接),然后又被反射回给用户.
比反射XSS危害性更大的是存储XSS.
它把恶意脚本注入到Web站点所使用的库中.
如果这个库用于显示信息给用户,那么,被注入的恶意脚本将被呈现给访问这个站点的每一个用户.
当Web应用使用Web客户端数据存储的时候,特别是采用数据库作为存储机制的时候,攻击者就可能把恶意脚本注入到客户端的本地存储中.
这是一种新的XSS,我们称之为客户端XSS,它完全位于本地并且使用客户端的存储能力.
客户端XSS一旦注入成功,每次当Web页面使用本地存储的信息的时候,恶意脚本都会运行.
1/32.
2客户端SQL注入SQL注入是一种攻击数据库的行为,攻击者把恶意SQL命令插入到Web表单的输入域或页面请求的查询字符串中,从而欺骗Web应用执行恶意的SQL命令,达到窃取数据或破坏的目的[6].
以往的SQL注入只针对运行在Web服务器端的数据库,并且通过服务器端的SQL查询来控制它.
Web客户端数据存储技术对数据库的支持,使客户端SQL注入成为可能.
然而,普通的客户端SQL注入并无多大危害,因为攻击者并不能获得查询结果,结果会反馈给用户而不是攻击者.
不过,如果在SQL注入中使用堆栈查询的话,则危害性可能非常大,因为它允许攻击者在客户端数据库上执行任意的SQL命令.
2.
3Web客户端数据损坏Web应用无法控制用户对客户端数据的修改或删除.
这会给Web应用带来影响,这种影响依赖于Web应用对数据的使用.
比如,如果视频网站把用户调整后的音量保存在Flash的LSO文件中,则对LSO数据的修改或是损坏只能导致音量恢复到默认值.
而如果某个网站利用Cookie中的某个值来表示用户的类型(普通用户或者管理员),对这个值的修改则可以让普通用户变成管理员,从而拥有更大的权限.
2.
4Web客户端数据泄露Web应用对存储在客户端的数据并没有多少控制,所以它无法保证数据的完整性.
当存储的数据需要保密,或者能够用来访问敏感信息时,数据泄露就成为一个严重问题.
像XSS和SQL注入攻击会让Web客户端数据处于危险中.
另外,当攻击者能够访问用户的文件系统时,数据泄露也会发生.
让Web客户端数据泄露更加复杂的一个因素是大部分这类数据并没有生命期(Cookies是一个例外),可以长期保存在用户的计算机上,这增加了数据泄露的可能性.
2.
5绕过同一来源策略同一来源策略对于保护Web客户端数据是极为重要的,绕过该策略会导致严重的后果.
那么,攻击者如何绕过同一来源策略呢首先,XSS的所有变种都允许攻击者绕过同一来源策略,因为它能够让脚本在被攻击的域的上下文中运行;其次,Web浏览器中的某些漏洞也会导致无法正常实施该策略.
此类漏洞在许多浏览器上都存在.
还有,DNS服务器的DNS缓存污染也可以用来绕过该策略.
另外,当Web应用没有恰当地定义来源的时候,也会出现绕过同一来源策略的问题.
比如,Cookie机制允许开发者使用"domain"属性设置来源.
假如站点good.
enjoy.
com所指定的域是.
enjoy.
com.
当域enjoy.
com下的不同(虚拟)主机的所有权分散的时候,攻击者可以建立一个域名为devil.
enjoy.
com的网站,然后他就可以访问站点good.
enjoy.
com保存的cookie信息.
在博客和社交网站上,这是一个典型的问题,因为此时每个用户在相同的主域下都有自己的虚拟主机名.
相似的问题也存在于共享服务器上——几个用户共享同一个主机上的Web空间.
3Web客户端数据存储安全风险对策3.
1不要信任本地存储的数据由于Web应用无法控制客户端数据的完整性,Web应用开发者永远不应该信任本地存储的数据.
如果你的Web应用确实需要在客户端存储数据,而你又希望数据是完整可靠的,则可以使用数字签名技术来保证数据的完整性.
3.
2使用加密技术加密Web客户端数据可以在一定程度上阻止恶意程序读取明文数据.
在客户端解密数据会泄漏明文,加密和解密操作必须在Web服务器上进行.
不过,加密技术并不能保证客户端数据总是安全的.
如果服务器解密数据后又把明文信息返回给浏览器,攻击者仍然有可能利用XSS来获得信息.
3.
3防止XSS对于传统的XSS,可以通过在服务器端脚本中引入适当的输出编码机制来解决.
不过,如果使用Web客户端数据,服务器可能无法看到它们,因此无法重新编码.
当信息存储在客户端并由客户端的脚本检索的时候,这种情况就可能发生.
为了防止客户端XSS,开发者需要在客户端以JavaScript函数的形式引入输出编码机制.
这种编码机制主要是在输出的数据中重新编码不安全的字符,比如,把小于号"<"编码成"<;".
这会让攻击者在Web应用的输出中注入2/3标签(这样就可以执行恶意JavaScript脚本)的行为变得非常困难.
3.
4使用参数化的查询如果在Web应用中使用客户端数据库,同时使用SQL接口(如HTML5WebSQLDatabase),应该使用参数化的查询而不是动态串方式.
3.
5指定的数据来源应尽可能窄如果指定的数据来源过于宽松,存储在用户端的数据可能会被其他Web应用读取.
在共享域中,这个问题更加严重.
如果采用Cookies技术,可以使用"path"属性来进一步缩小允许读写数据的来源.
然而,较新的存储技术如HTML5客户端存储技术并不支持类似的机制[7],这意味着在共享服务器上不应该使用这类存储技术.
3.
6及时删除不再使用的客户端数据除了Cookies,其他Web客户端数据存储技术并不支持数据的自动删除.
为了防止这种情况的发生,Web应用应负责删除不再需要的数据.
4结束语Web客户端数据存储技术的发展,在给Web应用带来方便的同时也引入了安全风险.
这些风险是Web应用开发者必须回避的.
有些风险从Cookies开始就已经存在了.
不过新的存储技术所采用的存储机制的确带来了新的安全威胁,比如客户端XSS和客户端SQL注入.
另外,大容量存储机制的采用,也使得更多的重要信息保存在客户端,这会吸引恶意用户把客户端数据作为重要的攻击目标,增大了Web应用遭受攻击的威胁.
本文对Web客户端数据存储的风险分析及所给出的应对措施,能够有效降低Web应用的安全风险,对Web应用开发者来说具有较大的参考价值.
参考文献:[1]Boneh,Dan.
"CookieSameOriginPolicy.
"[EB/OL].
http://crypto.
stanford.
edu/cs142/lectures/10-cookie-security.
pdf,2009.
1.
[2]Adobe.
"Manage,disableLocalSharedObjects|FlashPlayer"[EB/OL].
http://kb2.
adobe.
com/cps/526/52697ee8.
html,2011.
4.
[3]Microsoft.
"SilverlightOverview.
"[EB/OL].
http://msdn.
microsoft.
com/en-us/library/bb404700(v=vs.
95).
aspx.
,2011.
1.
PoweredbyTCPDF(www.
tcpdf.
org)3/3
hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...
丽萨主机怎么样?丽萨主机,团队于2017年成立。成立之初主要做的是 CDN 和域名等相关业务。最近开辟新领域,新增了独立服务器出租、VPS 等业务,为了保证业务质量从一开始就选择了中美之间的 CN2 GIA 国际精品网络,三网回程 CN2 GIA,电信去程 CN2 GIA + BGP 直连智能路由,联通移动去程直连,原生IP。适合对网络要求较高的用户,同时价格也比较亲民。点击进入:丽萨主机官方网站...
趣米云怎么样?趣米云是创建于2021年的国人IDC商家,虽然刚刚成立,但站长早期为3家IDC提供技术服务,已从业2年之久,目前主要从事出售香港vps、香港独立服务器、香港站群服务器等,目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。由于内存资源大部分已售,而IP大量闲置,因此我们本月新增1c1g优惠套餐。点击进入:趣米云官方网站地址香港三网CN2云服务器机型活...
javlibrary最新地址为你推荐
yw372:Com我是YW,ZX了吗重庆400年老树穿楼生长重庆吊脚楼特朗普吐槽iPhone华为余承东吐槽iPhone X,除了贵啥优点都没有字节跳动回应TikTok易主每天每夜要结束了主持人问关于抄袭的问题,权志龙很认真的回答不想说的,想在以后做好的那段话的音乐叫什internetexplorer无法打开Internet Explorer 打不开了银花珠树晓来看用黄皮比喻心酸的诗句传奇域名谁有霸气一点的传奇名字。给个12306.com注册12306邮箱地址怎么写佛山海虹怎么分辨青口/海虹是活还是死?联系我们代码农业银行代码
国外虚拟主机 太原域名注册 域名备案只选云聚达 希网动态域名 naning9韩国官网 香港bgp机房 踢楼 香港机房 美元争夺战 表格样式 美国php主机 彩虹ip 好看qq空间 vip购优汇 域名评估 秒杀汇 gtt 七夕快乐英语 512mb 百度云空间 更多