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

专栏文章索引:网络安全

有问题可私聊: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.mzph.cn/bicheng/2692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信奥之路(三)——判断语句if

1.if语句 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句。 C 编程语言提供了以下类型的判断语句。点击链接查看每个语句的细节: if 语句:一个 if …

设计模式(019)行为型之状态模式

状态模式是一种行为型设计模式,它允许对象在内部状态发生变化时改变它的行为,使得对象在不同状态下有不同的行为表现,而且可以方便地添加新的状态而不必修改已有的代码。 1、场景设计 实现场景:对状态A和状态B做出不同的处理。 …

Git merge的版本冲突实验

实验目的 发现 两个分支的 相同文件 怎样被修改 才会发生冲突? 实验过程 1.初始状态 现在目前有1.py、2.py两个文件,已经被git管理。现在我想制造冲突,看怎样的修改会发生冲突,先看怎么不会发生冲突。 目前仓库里的版本是这样…

C++ //练习 13.11 为前面练习中的HasPtr类添加一个析构函数。

C Primer(第5版) 练习 13.11 练习 13.11 为前面练习中的HasPtr类添加一个析构函数。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 class HasPtr{ public:HasPtr(const std::string &s std::stri…

C语言实现简单CRC校验

目录 一、实现题目 二、send模块 三、receive模块 四、运行截图 一、实现题目 二、send模块 #include <stdio.h> #include <string.h>// 执行模2除法&#xff0c;并计算出余数&#xff08;CRC校验码&#xff09; //dividend被除, divisor除数 void divide…

免费SSL证书和付费SSL证书区别在哪

免费SSL证书与付费SSL证书在多个方面存在差异&#xff0c;这些差异主要体现在认证级别、保障金额以及服务范围上。在以下几个方面存在显著区别&#xff1a; 1、验证类型和信任级别&#xff1a; 免费SSL证书&#xff1a;通常只提供域名验证&#xff08;DV&#xff09;级别的证…

实验:使用apache + yum实现自制yum仓库

实验准备 Web服务器端&#xff1a;cenos-1&#xff08;IP&#xff1a;10.9.25.33&#xff09; 客户端&#xff1a;centos-2 保证两台机器网络畅通&#xff0c;原yum仓库可用&#xff0c;关闭防火墙和selinux Web服务器端 ①安装httpd并运行&#xff0c;设置开机自启动 安装…

微信小程序 带tab的页面 从数据比较多的tab切到数据比较少的tab时 有可能触发onReachBottom 导致数据重复加载

onReachBottom() {//添加pageNum 1的判断是因为 从tab页比较高的地方切到tab页子集很少的地方可能会直接触发onReachBottom导致数据重复加载if (pageNum 1) return..doing},

多模态模型

转换器成功作为构建语言模型的一种方法&#xff0c;促使 AI 研究人员考虑同样的方法是否对图像数据也有效。 研究结果是开发多模态模型&#xff0c;其中模型使用大量带有描述文字的图像进行训练&#xff0c;没有固定的标签。 图像编码器基于像素值从图像中提取特征&#xff0c;…

力扣数据库题库学习(4.23日)

610. 判断三角形 问题链接 解题思路 题目要求&#xff1a;对每三个线段报告它们是否可以形成一个三角形。以 任意顺序 返回结果表。 对于三个线段能否组成三角形的判定&#xff1a;任意两边之和大于第三边&#xff0c;对于这个表内的记录&#xff0c;要求就是&#xff08;x…

基于Python的智能语音识别系统设计

引言 语言是人类最原始直接的一种交流方式&#xff0c;通俗易懂、便于理解。随着科技的发展&#xff0c;语言交流不再只存在于人与人之间&#xff0c;如何让机器“听懂”人类的语言并做出反应成为人工智能的重要课题&#xff0c;语音智能交互技术应运而生。作为其中重要一环的…

Maven基础篇7

私服-idea访问私服与组件上传 公司团队开发流程 本地上传–>repository–>私服 其他成员从私服拿 1.项目完成后发布到私服 在pom文件最后写上发布的配置管理 ​ //写发布的url也就是你发布到哪一个版本&#xff0c;以及写入id ​ ​ 发布的时候&#xff0c;将项…

安装Selenium

安装Selenium 【0】引言 ​ 由于sleenium4.1.0需要python3.7以上方可支持&#xff0c;请注意自己的python版本。 【1】使用Pycharm安装 使用 快捷键 Ctrl Alt S 【2】使用 pip 安装 Python3.x安装后就默认就会有pip&#xff08;pip.exe默认在python的Scripts路径下&…

VUE2版本的仿微信通讯录侧滑列表

<template><!-- Vue模板部分 --><div><div v-for"(group, index) in groupedArray" :key"index" ref"indexcatch"><h2>{{ letter[index] }}</h2><ul><li v-for"item in group" :key&quo…

Notepad++使用SFTP连接虚拟机编辑文档

一.前言 当我们在虚拟机中使用vim编辑有时候不太方便&#xff0c;可以使用远程工具连接进行编辑。 常用的远程连接编辑方式有 vscode下载remote-ssh插件notepad下载nppftp插件finallshell中可以直接打开文件编辑xftp软件 根据个人习惯去选择使用即可。 这里分享一下notepa…

华为OD机试真题-模拟目录管理-2024年OD统一考试(C卷D卷)

题目描述: 实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。 支持命令: 1)创建目录命令:mkdir 目录名称,如mkdir abc为在当前目录创建abc目录,如果已存在同名目录则不执行任何操作。此命令无输出。 2)进入目录命令:cd 目录名称, 如cd …

VUE-配置-流程

VUE-配置-流程 ---1---.安装 NVM: ---2---.用NVM:安装node.js &#xff1a; 修改源&#xff1a; nvm root 命令&#xff0c;可以查看nvm的安装根路径在那个文件夹 root地址&#xff0c;找到setting.txt文件并打开 复制粘贴以下代码&#xff0c; 保存完成nvm源修改&#xff…

模型训练时报错Failed to allocate 12192768 bytes in function ‘cv::OutOfMemoryError‘

目录 报错信息&#xff1a; 查找网上解决方法&#xff1a; 改进思路&#xff1a; 改进方法&#xff1a; 报错信息&#xff1a; D:\Programs\miniconda3\envs\python311\python.exe D:\python\project\VisDrone2019-DET-MOT\train.py Ultralytics YOLOv8.1.9 &#x1f680…

php 获取网页数据

PHP preg_match_all() 函数 | 菜鸟教程 $arr preg_match_all(/<li>(.*)<\/li>/U,$file1,$mat);$arr $mat[0];

Java设计模式_适配器模式

基础 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许接口不兼容的类能够一起工作。适配器模式通过创建一个包装类来实现这种兼容性&#xff0c;这个包装类包含了需要的目标接口&#xff0c;并持有一个适配者对象&#xff0c;以便进…