vue 如何防止xss攻击 框架_xss攻击与防御

本文探讨了XSS攻击的类型、原理和手段,包括反射型和存储型XSS,并详细介绍了如何在Vue.js应用中实施防御措施,如浏览器自带防御、编码转义、过滤非法输入以及使用Content Security Policy(CSP)来增强安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、XSS攻击

Cross Site Scripting跨站脚本攻击

利用js和DOM攻击。

盗用cookie,获取敏感信息

破坏正常页面结构,插入恶意内容(广告..)

劫持前端逻辑

DDos攻击效果——分布式拒绝服务攻击

Server Limit Dos,Http header过长,server返回400

二、攻击原理和手段

攻击方式

反射性

存储性

1、反射型攻击

发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。

明文URL中value就是攻击代码

服务器解析URL中XSS代码并传回

浏览器解析执行

传播-》URL传播-》短网址传播

2、存储型攻击

存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。

更隐蔽。

XSS存在的位置

反射型——URL中

存储型——服务器端

XSS攻击注入点:

HTML节点内,通过用户输入动态生成

HTML属性,属性是由用户输入

JavaScript代码

富文本(一大段HTML,有格式)

富文本得保留HTML,HTML有XSS攻击风险

三、防御

1、浏览器自带防御

ctx.set(‘X-Xss-Protection’,0); 反射型参数出现在HTML内容或属性中。

2、编码转义

不能让所有用户输入保持原样。

对用户输入的数据进行HTML Entity编码。

用转义字符代替字符。

转义的时机

存储时

显示时

3、过滤

编码后显示时候还要解码。解码后显示原样代码前过滤。

过滤掉不合法输入,保证安全。

移除用户上传的DOM属性,如onerror等。

移除用户上传的Style节点,Script节点,Iframe节点等。

onerror自动触发xss。

style:body:display:none.

js对页面有百分比操作权限。

iframe引入其它页面资源。

通过xss注入的方式,引诱用户触发csrf攻击。

3、CSP

作者:starof

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值