【网络安全】跨站脚本攻击(XSS)

news/2024/5/14 8:46:42

专栏文章索引:网络安全

有问题可私聊:QQ:3375119339

目录

一、XSS简介

二、XSS漏洞危害

三、XSS漏洞类型

1.反射型XSS

2.存储型XSS

3.DOM型XSS

四、XSS漏洞防御


一、XSS简介

XSS(Cross-Site Scripting)

  • XSS 被称为跨站脚本攻击,由于和CSS重名,所以改为XSS。
  • XSS 主要使用 javascript , javascript 可以非常灵活的操作 html、css 和 浏览器。
  • XSS 就是将 恶意代码 注入到 网页 中,以达到攻击的效果。
     

当用户访问被XSS注入的网页,XSS代码就会被提取出来,用户浏览器就会解析这段XSS代码,也就是说用户被攻击了

用户最简单的动作就是使用浏览器上网,并且浏览器中有javascript解释器,可以解析javascript,然而浏览器不会判断代码是否恶意。

那里容易存在XSS漏洞?

微博、留言板、聊天室等等收集用户输入的地方,都有遭受XSS的风险,只要没有对用户的输入进行严格过滤,就会被XSS。
 


二、XSS漏洞危害

  • 盗取各种用户账号
  • 窃取用户Cookie资料,冒充用户身份进入网站
  • 劫持用户会话,执行任意操作
  • 刷流量,执行弹窗广告
  • 传播蠕虫病毒


三、XSS漏洞类型

1.反射型XSS


搜索框,用户登录
非持久性、参数跨站脚本
窃取用户cookie或进行钓鱼欺骗

实验环节:

2.存储型XSS


留言板、评论、博客日志
持久性跨站脚本,更具威胁性
渗透网站、挂马、蠕虫病毒、钓鱼

实验环节:

3.DOM型XSS


四、XSS漏洞防御

对XSS的防御需要根据实际情况对用户的输入进行严格的过滤。基于过滤的XSS防御方式通常可分为两种:基于黑名单的过滤和基于白名单的过滤。后者的防御效果往往更好,对于用户在白名单之外的输入,可以直接忽略。在构造白名单的过程中需要保证在不影响用户体验的同时,尽可能杜绝一切不必要的输入内容。



http://www.mrgr.cn/p/07432087

相关文章

[TJOI2018] 碱基序列(题库给的什么鬼名字)

题目描述 小豆参加了生物实验室。在实验室里,他主要研究蛋臼质。他现在研究的蛋臼质是由k个氨基酸按一定顺序构成的 。每一个氨基酸都可能有a种碱基序 列si_j 构成。现在小豆有一个碱基串s,小豆想知道在这个碱基上都多少中 不同的组合方式可能得到这个蛋白质。即求由k段字符串…

QT入门:计算圆面积的QT开始以及日历相关

QT入门:计算圆面积的QT开始以及日历相关 使用的工具为Qt creator 如图所示的为Qt的一个基本目录,首先打开mainwindow.ui进行设计,首先是讲解日历的,可以完全不用写代码,只在mainwindow.ui即可实现。 这是最后的一个成…

记一次北京某大学逻辑漏洞挖掘

个人觉得教育src的漏洞挖掘就不需要找真实IP了,我们直接进入正题,收集某大学的子域名,可以用oneforall,主要是子域名直接就可以复制到txt文件,方便后续域名探针。这里查询到700多个子域名。0x01 信息收集 个人觉得教育src的漏洞挖掘就不需要找真实IP了,我们直接进入正题,…

吴恩达机器学习-第三课-第一周

吴恩达机器学习 学习视频参考b站:吴恩达机器学习 本文是参照视频学习的随手笔记,便于后续回顾。 无监督学习 聚类算法(Clustering algorithm) 监督学习下无监督学习下 聚类算法看看能不能给数据分组聚类算法的一些例子: 相似新闻分组、市场分割、DNA数据分析、太空数据分析…

微电子领域材料生长方法(六)液相外延(LPE)

微电子领域材料生长方法(六)液相外延(LPE) 液相外延(Liquid Phase Epitaxy, LPE)是一种用于生长单晶薄膜的技术,特别是在半导体材料的制备中。LPE技术允许在较低的温度下从熔体中生长出高质量的…

vsftp虚拟用户和ssl加密配置 —— 筑梦之路

为什么要用虚拟用户? 1.增强安全性:使用虚拟用户,可以避免直接使用系统账户进行 FTP 访问,通过使用虚拟用户,可以限制 FTP 用户的访问范围和权限,减少潜在的安全风险。 2.隔离用户和文件:虚拟用户可以被隔…

Linux基础之文件管理

Everything is a file 是一个经典的概念。Linux系统将所有的东西都看作是文件,包括将硬件设备、进程、网络连接等均抽象为文件。目录文件权限文件的三个时间戳创建文件创建目录删除文件文件的移动与复制文件查看与编辑重定向查看文件详细信息查找文件文件属性的管理文件的压缩…

代码分享|GPL平台没有基因注释什么办?别慌,基因ID注释万能公式!

文章目录 1.前言2.GPL空了怎么办2.1 google/官网2.2 GSE1640112.3 GSE2130012.4 GSE212067(看漏眼情况)2.5 GSE242881(还是看漏眼)2.6 GSE146621 3.转换ID代码分享链接 1.前言 前因是小编在接近两年前回复了C站小伙伴一条帖子&…

github Copilot的使用总结

1. 代码建议和补全 GitHub Copilot 的基本使用涉及编写代码时的实时代码建议和补全。一旦你已经安装并配置好 GitHub Copilot 插件,你可以在支持的编辑器(如 Visual Studio Code)中开始使用 Copilot。以下是一些基本的使用步骤: …

【VBA】获取指定目录下的Excel文件,并合并所有excel中的内容。

1.新建一个excel表格。并创建两个Sheet,名字分别命名为FileList 和 All information。 2.按ALTF11进入 VBA编程模块,插入模块。 3.将如下 第五部分代码复制到模块中。 点击运行即可,然后就能提取指定目录下的所有excel文件信息并合并到一起…

服务器安全卫士

1.云锁 (部分功能免费,可以远程登录,记录远程登录IP,访问频繁可以自动添加IP到黑名单,可设置首次访问验证,配置防卸载密码,可配置指定目录文件不能删除)没有杀毒2.服务器安全狗

线性代数基础1向量

1、向量是什么 1.1、向量的定义 在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的…

《苍穹外卖》Day12部分知识点记录——数据统计-Excel报表

一、工作台 需求分析和设计 接口设计 今日数据接口订单管理接口菜品总览接口套餐总览接口订单搜索(已完成)各个状态的订单数量统计(已完成) 代码实现 今日数据接口 1. WorkspaceController 注意不要导错包了 package com.sk…

考试卷子快速去白底 - ps - Photoshop

考试卷子快速去白底 - ps - Photoshop 1.透视裁剪工具 裁剪下卷子四周2.色阶ctrl+L 右边第3个吸管 选择后点卷面3.图层ctrl+J复制一层+正片叠底 上面的那个层 正片叠底 这样文字更清晰--------------------------------------------- 生活的意义就是你自己知道你要做什么,明确…

【康复训练2】2024.4.12 饿了么【最小生成树】

第一题-塔子哥的质数和合数#include<bits/stdc++.h>using namespace std;#define int long long const int N = 2e5+100; int n,arr[N]; signed main(){cin>>n;set<int> s;for(int i=1;i<=n;i++){cin>>arr[i]; if(arr[i]==1) continue;s.insert(arr…

Higress 基于自定义插件访问 Redis

本文介绍了Higress,一个支持基于WebAssembly (WASM) 的边缘计算网关,它允许用户使用Go、C++或Rust编写插件来扩展其功能。文章特别讨论了如何利用Redis插件实现限流、缓存和会话管理等高级功能。简介 基于 wasm 机制,Higress 提供了优秀的可扩展性,用户可以基于 Go/C++/Rus…

在React Router 6中使用useRouteLoaderData钩子获取自定义路由信息

在 React Router 6 中怎么像vueRouter一样&#xff0c;可以在配置路由的时候&#xff0c;定义路由的元信息(附加信息)&#xff1f;答案是可以的。稍有些复杂。核心是通过为每个路由定义了一个 loader 函数,用于返回自定义的路由信息&#xff0c;然后通过useRouteLoaderData 钩子…

自动驾驶半实物仿真平台设计方案:827-8路GMSL视频注入回灌的自动驾驶半实物仿真平台

8路GMSL视频注入回灌的自动驾驶半实物仿真平台一、平台介绍产品基于8路GMSL视频注入回灌的自动驾驶半实物仿真平台旨在提高实验室及研究生院师生在基础软件层开发、计算机视觉和深度学习方面的专业知识学习和实践能力,为师生提供一个稳定软件开发和多精度框架学习和训练平台,…

【Vue3+Tres 三维开发】01-HelloWord

预览 什么是TRESJS 简单的说,就是基于THREEJS封装的能在vue3中使用的一个组件,可以像使用组件的方式去创建场景和模型。优势就是可以快速创建场景和要素的添加,并且能很明确知道创景中的要素构成和结构。 项目创建 npx create-vite@latest # 选择 vue typescript安装依赖…

js的算法-插入排序(折半插入排序)

直接插入排序的步骤 1. 从前面的有序子表中查找出待插入元素应该被插入的位置 2. 给插入位置腾空间 3. 将待插入元素复制到表中的插入位置。 直接插入排序&#xff1a;边比较边移动&#xff1b; 折半插入排序 先折半查找出元素的待插入位置&#xff0c;然后统一地移动待插…