18、XSS——cookie安全

文章目录

  一般来说,同域内浏览器中发出的任何一个请求都会带上cookie,无论请求什么资源,请求时,cookie出现再请求头的cookie字段中。服务端响应头的set-cookie字段可以添加、修改和删除cookie,客户端通过javascript也可以添加、修改和删除cookie。另外,cookie是无法跨浏览器存在的

  利用cookie机制,我们可以存储用户的会话信息,比如,用户登录认证后的session,之后同域内发出的请求都会带上认证后的会话信息。

1、cookie重要字段

  • setcookie()函数用于设置cookie;
  • namevalueexpirespathdomainsecurehttponly 含义依次是:名称、值、过期时间、所属相对路径、域名、是否有secure标志、是否有httponly标志。

2、子域cookie机制

  Domain字段,设置cookie时,如果不指定则默认本域。例如x.xxx.com域通过javascript设置一个cookie:Document.cookie="test=1",此时,domian值默认是x.xxx.com,如果通过javascript设置一个父域:Document.cookie="test=1"; domain="xxx.com"。此时,domain域变成xxx.com,这样的好处就是可以再不同的子域共享cookie,坏处就是攻击者通过控制其他子域也可以读到这个cookie。

注意:此机制不允许设置cookie的domain为下一级子域或其他外域。

3、路径cookie机制

  path字段,设置cookie时,如不指定path的值,则默认时当前页面路径。例如www.xxx.com/admin/index.php页面通过javascript设置一个cookiedocument.cookie="test=1",此时path的值默认为/admin/

  通过设置path字段,javascript可以设置任意cookie到任意路径下,但是只有这个目标路径(/admin/路径)下的页面javascript才能读取到该cookie。但是,通过设置path不能防止重要的cookie被窃取。比如/test/路径想读取/admin/路径的cookie,可以通过跨iframe进行DOM操作实现。

4、HttpOnly Cookie机制

什么是HttpOnly?

  • HttpOnly是cookie的一种属性;
  • 用于告诉浏览器不要想=向客户端脚本暴露cookie;
  • 指仅在HTTP层面传输Cookie,当设置HttpOnly属性后,客户端脚本就无法读取该cookie,能有效防御XSS攻击获取cookie。

5、Secure Cookie机制

  secure Cookie机制指的是设置了Secure标志的cookie仅在HTTPS层面上安全传输,如果请求是HTTP就不会带上这个cookie,这样能降低重要的cookie被中间人解惑的风险。但是secure cookie对于客户端脚本来说是可读写的,也就意味着,它能够被盗取和篡改。可通过如下JS代码对已知的secure cookie进行篡改:

6、本地cookie与内存cookie

  两者的区别在于过期时间。如果没设置过期时间,就是内存cookie,这样的cookie会随着浏览器的关闭而从内存中消失;如果设置了过期时间,那么就是本地cookie,这样的cookie就会以文本的形式保存在操作系统本地,待过期时间到了会自动消失。

7、本地存储方式

  浏览器本地存储是一种在浏览器中长久保存数据的方法,称为本地数据持久化,当我们刷新页面或者同域名内页面跳转仍然可以保留数据。浏览器本地存储,对服务器来说,减少存储压力;对用户来说,响应速度变快,提升用户体验。浏览器本地存储方式:

相关推荐
2601_961963385 小时前
技术解剖:哈希值、区块链与CA认证如何守护电子合同安全?
网络·人工智能·安全·区块链·智能合约·政务
科技林总6 小时前
解决vllm服务漏扫问题
python·安全
YM52e6 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
Par@ish7 小时前
【网络安全】Web安全扫描工具Nikto安装和使用详细教程
安全·web安全·ubuntu
namexingyun7 小时前
拆解Fable 5三重安全护栏:模型路由、蒸馏防护与生物安全分类器的技术原理 - 微元算力(weytoken)
java·人工智能·python·安全·架构·ai编程
OpenAnolis小助手8 小时前
如何利用 AI Agent 实现热补丁的自动化生成
人工智能·安全·ai·操作系统·agent·龙蜥
一拳一个娘娘腔8 小时前
CVE-2026-31431 — “Copy Fail“ 深度拆解
linux·安全
持敬chijing9 小时前
Web渗透之前后端漏洞-文件包含漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析
leagsoft_100310 小时前
某航终端安全治理实践:以一体化建设夯实数字办公安全底座
安全
持敬chijing10 小时前
Web渗透之前后端漏洞-文件上传漏洞-过滤绕过与配置文件漏洞-条件竞争漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析