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

embedded/2024/10/18 22:37:22/

专栏文章索引:网络安全

有问题可私聊: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.ppmy.cn/embedded/19699.html

相关文章

Python | Leetcode Python题解之第51题N皇后

题目: 题解: class Solution:def solveNQueens(self, n: int) -> List[List[str]]:def generateBoard():board list()for i in range(n):row[queens[i]] "Q"board.append("".join(row))row[queens[i]] "."return b…

iOS(Object C) 插入排序

插入排序的思想: 可以想象你在打牌,手里有一张牌2, 第一次摸到一张牌5; 5 比1 大,所以摸到的牌5放在1的右边; (此时手里的牌为 2->5) 第二次摸到一张牌3; 3比5小,所以3和5互换位置,再拿3和2比,3比2大,3不动(此时手里的牌为 2-> 3 -> 5) 第三次摸到一张牌1,1比5小,…

【总结】CycleGAN+YOLOv8+DeepSORT

本文章仅对本人前期工作进行总结,文章内容供读者参考,代码不对外公开 文章目录 1、CycleGAN1.1 数据集配置1.2 环境配置1.3 参数配置1.4 可视化训练过程1.5 训练结果1.5 结果测试 2、YOLOv82.1 数据集配置2.2 网络结构配置2.3 训练细节2.4 测试 3、Deep…

java:基于guava ClassPath工具实现基于包名(package)的类扫描

google的guava库提供了一个类路径扫描的实用工具ClassPath(参见说明&#xff1a; https://github.com/google/guava/wiki/ReflectionExplained#classpath)工具&#xff0c;适用于非android的Java平台搜索类。基于它可以设计一个过滤包名的搜索工具。 导入依赖库 <dependen…

NDK 基础(二)—— C++ 语言基础与特性1

1、C 语言基础 本节主要还是了解一些 C 的基本用法以及与 C 语言的不同/改进之处。比如说&#xff0c;C 是面向对象的语言&#xff0c;C 是面向过程的语言。 1.1 Hello, C 熟悉 C 的标准 IO 库、命名空间以及基本的输入输出方法&#xff1a; // 导入 C 的标准输入输出库 #i…

中颖51芯片学习7. printf重定向到串口与自定义日志输出函数

中颖51芯片学习7. printf重定向到串口与自定义日志输出函数 一、 printf 重定向1. 概念2. 实现方式3. C51 中printf数值格式化 二、日志函数1. 实现方案分析2. 代码&#xff08;1&#xff09;log_utils.h&#xff08;2&#xff09;main.c 3. 通过预定义宏实现日志分级输出&…

算法学习之单调栈

发射站 题目描述 某地有 N N N 个能量发射站排成一行&#xff0c;每个发射站 i i i 都有不相同的高度 H i H_i Hi​&#xff0c;并能向两边&#xff08;两端的发射站只能向一边&#xff09;同时发射能量值为 V i V_i Vi​ 的能量&#xff0c;发出的能量只被两边最近的且比…

【CSS】CSS实现元素逐渐消失(实现元素透明逐渐消失/模糊)

mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%);mask-image 属性用于定义一个遮罩&#xff0c;它可以隐藏元素的一部分或全部内容。在这个示例中&#xff0c;我们使用 mask-image 属性来定义一个线性渐变的遮罩&#xff0c;使得列表项的内…