Cookie与系统安全

简介: Cookie的安全往往被程序员们所忽视,首先来了解一下Cookie是什么? 背景: 程序员们用Session在服务端保存着和用户相关的信息,当用户退出时,或关闭浏览器时session就失效了,这时程序员们希望通过用户每次请求时所带的一些数据来识别之前登录过的用户,于是在用户的浏览器中就出现了Cookie。

Cookie的安全往往被程序员们所忽视,首先来了解一下Cookie是什么?

背景:

程序员们用Session在服务端保存着和用户相关的信息,当用户退出时,或关闭浏览器时session就失效了,这时程序员们希望通过用户每次请求时所带的一些数据来识别之前登录过的用户,于是在用户的浏览器中就出现了Cookie。

用途:

Cookie中往往存储着和用户相关的信息,这些信息有时可以标识着一个身份,请求跨站伪造(CSRF就是利用了Cookie代表着一个用户的特性,因为在浏览器中,通过一些方法,我们可以修改请求中的cookie,如果改成了和一个已经登录且生效的用户的cookie一样,那系统就会误认为我就是那个已经登录的那个人,而事实我却并没有输入什么用户名密码登录。

那么如何伪造Cookie呢?其实这是跨站脚本攻击(XSS)的目的,用一个脚本来获取别人正在使用的Cookie,再通过邮件或其他方式,将获取到的Cookie发送给攻击者。获取cookie的JS很简单:

var mycookie = document.cookie;
写cookie的话也很简单:
document.cookie='key=value;'

如何防范:

要想让Cookie安全还是有方法的,首先要了解Cookie有哪些属性:


Name:Cookie的名字

Value:Cookie的值

DomainCookie作用在哪个域名下

PathCookie作用在什么上下文

Expires:有效时间

HTTP:httponly,防止JS获取,只作用在传输过程中

Secure:是否只作用在HTTPS的方式下

通过设置httponly属性可以防止cookie被别人窃取伪造,对于HTTPS的接口,最好还要设置Secure也为true。

注意事项:

很少有程序员重视cookie的安全性,更不重视Cookie的httponly功能,导致了大量的用户受到甚至财产上的损失。

还有要注意的是Cookie是有作用域和作用上下文的,如果作用域和作用上下文设置不当,服务端是取不到值的,这个在做APP时会常遇到,就是在APP设置了cookie时,在服务端没生效,因为没取到。


目录
相关文章
|
6月前
|
存储 安全 JavaScript
别再使用 JWT 作为 Session 系统!问题重重且很危险
首先需要说明 JWT 坊间流传的优势 易于水平扩展? 易于使用? 更加灵活? 更加安全? 内置过期时间功能? 无需询问用户「本网站使用 Cookies」? 防止 CSRF 攻击? 更适用于移动端? 适用于阻止 Cookies 的用户?
|
7月前
|
存储 安全 JavaScript
cookie使用说明和安全性问题
cookie使用说明和安全性问题
89 0
|
10月前
|
存储 安全 Java
网站安全测试,会话 cookie 中缺少 HttpOnly 属性
可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务 “HttpOnly”属性的会话 cookie。由于此会话 cookie 不包含“HttpOnly”属性,因此 注入站点的恶意脚本可能访问此 cookie,并窃取它的值。任何存储在会话令牌中的 信息都可能被窃取,并在稍后用于身份盗窃或用户伪装。
488 0
|
12月前
|
存储 JSON 安全
别再使用 JWT 作为 Session 系统!问题重重且很危险。
别再使用 JWT 作为 Session 系统!问题重重且很危险。
|
存储 JSON 安全
别再用 JWT 作为 Session 系统了,问题重重,后果很危险!
别再用 JWT 作为 Session 系统了,问题重重,后果很危险!
244 0
别再用 JWT 作为 Session 系统了,问题重重,后果很危险!
|
存储 JavaScript 前端开发
网络安全——XSS之被我们忽视的Cookie
Cookie在我们身边一直被大家所使用着,但却一直被忽视,那我们今天就一起来看看到底什么是Cookie,和我们的网络安全又有什么联系呢
4213 10
网络安全——XSS之被我们忽视的Cookie
|
安全
dedecms v5.7 CSRF保护措施绕过漏洞修复
见https://blog.csdn.net/weixin_41165585/article/details/102679932 找到项目路径下的/dede/config.php文件的第70行附近的 csrf_check() 函数 function csrf_check(){ global $to...
1103 0
|
Web App开发 监控 JavaScript
XSS攻击之窃取Cookie
译者按: 10 年前的博客似乎有点老了,但是XSS 攻击的威胁依然还在,我们不得不防。 原文: XSS - Stealing Cookies 101 译者: Fundebug 本文采用意译,版权归原作者所有 窃取Cookie是非常简单的,因此不要轻易相信客户端所声明的身份。
1261 0
|
数据安全/隐私保护 安全 搜索推荐
了解cookie和cookie的安全性
一、什么是cookie? 打开你的Documents and Settings文件夹,进去以后,随便打开一个用户来看看,是不是有一个文件夹叫“Cookies”,里面装着一堆.txt文件?那么,这个Cookies到底是个什么东东呢? Cookie的英文原意是“甜饼”,但这里所讲的“Cookie”可不是糕点哦,它只是一个保存在客户机中的简单的文本文件,这个文件与特定的Web文档关联在一起,保存了该客户机访问这个Web文档时的信息,当客户机再次访问这个Web文档时这些信息可供该文档使用。
898 0
|
安全 数据安全/隐私保护
安全漏洞问题7:失效的身份认证和会话管理
应用程序的功能一般包含权限管理和会话管理,但是由于应用程序设计不当,让攻击者可以窃取到密码、密钥、session tokens等信息,进而冒充合法用户身份,获取敏感信息或者进行恶意操作。
6004 0