博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于处理cookie避免受到脚本攻击
阅读量:5928 次
发布时间:2019-06-19

本文共 851 字,大约阅读时间需要 2 分钟。

hot3.png

尽管cookie没有病毒那么危险,但它仍包含了一些敏感信息:用户名,计算机名,使用的浏览器和曾经访问的网站。用户不希望这些内容泄漏出去,尤其是当其中还包含有私人信息的时候。

这并非危言耸听,一种名为跨站点脚本攻击(Cross site scripting)可以达到此目的。通常跨站点脚本攻击往往利用网站漏洞在网站页面中植入脚本代码或网站页面引用第三方法脚本代码,均存在跨站点脚本攻击的可能,在受到跨站点脚本攻击时,脚本指令将会读取当前站点的所有 Cookie 内容(已不存在 Cookie 作用域限制),然后通过某种方式将 Cookie 内容提交到指定的服务器(如:AJAX)。一旦 Cookie 落入攻击者手中,它将会重现其价值。

建议开发人员在向客户端 Cookie 输出敏感的内容时(譬如:该内容能识别用户身份):

1)设置该 Cookie 不能被脚本读取,这样在一定程度上解决上述问题。

  2)对 Cookie 内容进行加密,在加密前嵌入时间戳,保证每次加密后的密文都不一样(并且可以防止消息重放)。

  3)客户端请求时,每次或定时更新 Cookie 内容(即:基于第2小条,重新加密)

  4)每次向 Cookie 写入时间戳,数据库需要记录最后一次时间戳(防止 Cookie 篡改,或重放攻击)。

  5)客户端提交 Cookie 时,先解密然后校验时间戳,时间戳若小于数据数据库中记录,即意味发生攻击。

基于上述建议,即使 Cookie 被窃取,却因 Cookie 被随机更新,且内容无规律性,攻击者无法加以利用。另外利用了时间戳另一大好处就是防止 Cookie 篡改或重放。 Cookie 窃取:搜集用户cookie并发给攻击者的黑客。攻击者将利用cookie信息通过合法手段进入用户帐户。

Cookie 篡改:利用安全机制,攻击者加入代码从而改写 Cookie 内容,以便持续攻击。

转载于:https://my.oschina.net/u/2929819/blog/758669

你可能感兴趣的文章
基于.NET开发 ActiveX 控件
查看>>
每日英语:Can an Ancient Chinese City Pursue Preservation Without Disney-fication?
查看>>
HDU 2518 Dominoes
查看>>
用元胞自动机实现多数分类算法
查看>>
利用Spring AOP自定义注解解决日志和签名校验
查看>>
第二十四章 异常和错误处理 3异常的派生
查看>>
[译]JavaScript:如何判断值的类型
查看>>
【英语天天读】Places and People
查看>>
2LIS_13_VDITM中开票项目数量计算错误
查看>>
错误 '800a0e78' 存储过程中缺少 set nocount on 导致错误
查看>>
LA 3213 Ancient Cipher
查看>>
asp.net mvc源码分析-Controllerl篇 TempData数据存储
查看>>
virtualbox 硬盘 大小 更改 增大
查看>>
可爱的 Python: 自然语言工具包入门
查看>>
open-flash-chart 与 FusionCharts 开发中使用
查看>>
.net页面缓存
查看>>
python中的map,filter,reduce,lambda (转)
查看>>
C++小结(1)
查看>>
cmogstored 1.0 发布,mogstored 的 C 实现
查看>>
字符串(memcpy)
查看>>