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

server/2024/9/24 13:25:00/

专栏文章索引:网络安全

有问题可私聊: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/server/20944.html

相关文章

【经典算法】LeetCode31. 下一个排列(Java/C/Python3/GO实现含注释说明,中等)

题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地&…

视频怎么批量压缩?5个好用的电脑软件和在线网站

视频怎么批量压缩?有时候我们需要批量压缩视频来节省存储空间,便于管理文件和空间,快速的传输发送给他人。有些快捷的视频压缩工具却只支持单个视频导入,非常影响压缩效率,那么今天就向大家从软件和在线网站2个角度介绍…

推荐算法顶会论文合集

SIGIR SIGIR 2022 | 推荐系统相关论文分类整理:8.74 https://mp.weixin.qq.com/s/vH0qJ-jGHL7s5wSn7Oy_Nw SIGIR2021推荐系统论文集锦 https://mp.weixin.qq.com/s/N7V_9iqLmVI9_W65IQpOtg SIGIR2020推荐系统论文聚焦: https://mp.weixin.qq.com/s…

Spring Security(学习笔记) --AuthenticationProvider案例演示梳理!

重点标识 AuthenticationManager 默认是有parent的。 Security 向Spring容器注册了一个AuthenticationManager ,是一个全局的,也就是所谓的parent。 注册一个AuthenticationManager ,就是一个全局的 如果想要局部的,可以设置一个…

什么是SSRF攻击?该如何防御SSRF攻击?

随着网络安全形式日益严峻,各式各样的攻击频繁发生。当前,应用程序为了给用户提供更多更方便的功能,从另一个URL获取数据的场景越来越多,因此出现了一种安全漏洞攻击-SSRF。并且,由于云服务和体系结构的复杂性&#xf…

分发糖果——使用贪心算法

135. 分发糖果 已解答 困难 相关标签 相关企业 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给…

2024LarkXR新增功能系列之二 | 普通应用多开推流

在数字化迅速演变的今天,3D数字时代的到来已经改变了许多行业的运作方式。特别是在虚拟现实领域,实时云渲染技术正迅速成为关键驱动力,这种技术使得复杂的3D视觉内容可以迅速、高效地通过云平台渲染并传输到用户的设备上,无论设备…

opencv绘制线段------c++

绘制线段 bool opencvTool::drawLines(std::string image_p, std::vector<cv::Point> points) {cv::Mat ima cv::imread(image_p.c_str()); // 读取图像&#xff0c;替换为你的图片路径 cv::Scalar red cv::Scalar(0, 0, 255); // Red color int thickness 2;// 遍…