XSS笔记(简单了解的)

news2025/1/18 1:58:35

1.什么是XSS?

XSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。恶意攻击者往 Web 页面里嵌入恶意的客户端脚本,当用户浏览此网页时,脚本就会在用户的浏览器上执行,进而达到攻击者的目的。比如获取用户的 Cookie、导航到恶意网站、携带木马等。借助安全圈里面非常有名的一句话:“所有的输入都是有害的。”这句话把 XSS 漏洞的本质体现的淋漓尽致。大部分的 XSS 漏洞都是由于没有处理好用户的输入,导致恶意脚本在浏览器中执行。任何输入提交数据的地方都有可能存在 XSS。

2.XSS的类型有哪些?

(1)反射型

反射型XSS也被称为非持久性XSS(现在最容易出现的一种XSS漏洞)。当用户访问一个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,最终造成XSS漏洞。这个过程就像一次反射,故称为反射型XSS。

(2)存储型

存储型XSS又被称为持久性XSS,是最危险的一种跨站脚本。允许用户存储数据的Web应用程序都可能会出现存储型XSS漏洞,当攻击者提交一段XSS代码后,被服务器端接收并存储,当攻击者再次访问某个页面时,这段XSS代码被程序读出来响应给浏览器,造成XSS跨站攻击,比如我在某个论坛发帖的时候,论坛没有对传入的HTML作处理,那么我就可以发一个帖子内容包含<script>[code]</script>的帖子,然后就守株待兔地等着来看帖子的人执行恶意脚本了。持久型XSS漏洞是把恶意脚本存储到了数据库,访问页面的时候完全没有预兆,这就是存储型XSS。

存储型XSS与反射型XSS、DOM型XSS相比,具有更高的隐蔽性,危害性也更大。它们之间最大的区别在于反射型XSS与DOM型XSS执行都必须依靠用户手动去触发,而存储型XSS却不需要。

(3)DOM型

DOM的全称为Document Object Model,即文档对象模型,DOM通常用于代表HTML、XHTML和XML中的对象。使用DOM可以允许程序和脚本动态地访问和更新文档的内容、结构和样式。
通过JavaScript可以重构整个HTML页面,而要重构页面或者页面中的某个对象,JavaScript就需要知道HTML文档中所有元素的“位置”。而DOM为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。根据DOM规定,HTML文档中的每个成分都是一个节点。

DOM的规定如下:

1)整个文档是一个文档节点;
2)每个HTML标签是一个元素节点:
3)包含在HTML元素中的文本是文本节点;
4)每一个HTML属性是一个属性节点;
5)节点与节点之间都有等级关系。


HTML都是一个个节点,而这些节点组成了DOM的整体结构:节点树。如下图

可以发现, DOM本身就代表文档的意思,而基于DOM型的XSS是不需要与服务器端交互的,它只发生在客户端处理数据阶段。

3.XSS的原理

攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。

诱使受害者打开受到攻击的服务器URL。

受害者在Web浏览器中打开URL,恶意脚本执行。

4.XSS的危害

1)挂马
2)盗取用户Cookie。
3)DOS(拒绝服务)客户端浏览器。
4)钓鱼攻击,高级的钓鱼技巧。
5)删除目标文章、恶意篡改数据、嫁祸。
6)劫持用户Web行为,甚至进一步渗透内网。
7)爆发Web2.0蠕虫。
8)蠕虫式的DDoS攻击。
9)蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据
10)其它安全问题

5.XSS的利用方式

1)需要一个xss平台来收集cookie

2)对于反射型xss可构造链接,当用户点击时,用户cookie被发送到xss平台

3)窃取用户cooike之后加以利用

4)可以基于xss平台进行利用

具体攻击方式以后再细学

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/606872.html

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

相关文章

chatgpt赋能python:Python可以有多个同名函数吗?

Python 可以有多个同名函数吗&#xff1f; Python作为一门高级编程语言&#xff0c;其灵活性和易用性备受开发人员的青睐。在Python中&#xff0c;函数是编程语言的核心&#xff0c;任何有经验的Python工程师都会知道Python的函数允许使用相同的名称来进行定义。那么问题来了&…

一文搞懂编程界中最基础最常见【必知必会】的十一个算法,再也别说你只是听说过【建议收藏+关注】

文章目录 常见算法分类算法复杂度算法描述与实现交换类排序冒泡排序快速排序 插⼊类排序直接插入排序Shell排序 选择类排序简单选择排序&#xff08;⼜称直接选择排序&#xff09;堆排序 归并排序二路归并排序多路排序 线性时间非比较类排序计数排序基数排序桶排序 常见算法分类…

1. 爬虫及爬虫的步骤

1. 爬虫及爬虫的步骤 文章目录 1. 爬虫及爬虫的步骤1. 爬虫是什么&#xff1f;2. 爬虫的作用3. 爬虫步骤3.1 获取网页3.2 解析网页3.3 存储数据 4. 总结 1. 爬虫是什么&#xff1f; 爬虫就是写一段代码让计算机模仿人类自动访问网站。 2. 爬虫的作用 爬虫可以代替人们自动地…

Golang每日一练(leetDay0085) 2的幂、数字 1 的个数

目录 231. 2的幂 Power of Two &#x1f31f; 233. 数字 1 的个数 Number of Digit One &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java…

深度学习总结——用自己的数据集微调CLIP

CLIP概述 CLIP&#xff08;Contrastive Language-Image Pretraining&#xff09;是由OpenAI开发的一种深度学习模型&#xff0c;用于将图像和自然语言文本进行联合编码。它采用了多模态学习的方法&#xff0c;使得模型能够理解图像和文本之间的语义关系。 它的核心思想是将图…

皮卡丘SQL注入汇总

1.Sql Inject(SQL注入)概述 SQL注入漏洞主要形成的原因是在数据交互中&#xff0c;前端的数据传入到后台处理时&#xff0c;没有做严格的判断&#xff0c;导致其传入的“数据”拼接到SQL语句中后&#xff0c;被当作SQL语句的一部分执行。 从而导致数据库受损&#xff08;被脱裤…

循环控制语句

文章目录 1.break——跳出循环1.1作用 2.continue——控制循环2.1作用 3.猜数字4.while语句4.1while语句的结构4.2算1-10求和&#xff1a;4.3使用while方式批量添加5个用户给这五个用户添加密码&#xff1a; 5.until语句6.拓展6.1 购物6.2shell 计算器实现加减乘除和取余6.3打印…

chatgpt赋能python:Python反转输出正整数-让计算更简单

Python反转输出正整数-让计算更简单 Python是一种高级编程语言&#xff0c;除了可以完成各种任务&#xff0c;还可以反转输出正整数。在本篇SEO文章中&#xff0c;我将介绍如何使用Python编程语言反转输出正整数&#xff0c;并且展现了这个方法是如何简化计算。 什么是Python…

chatgpt赋能python:Python列表指定元素的取出方法

Python列表指定元素的取出方法 在Python编程中&#xff0c;经常需要取出列表中的指定元素。本文将介绍几种常用的取出列表指定元素的方法。 1. 使用索引 列表中的元素可以通过索引来进行访问和修改&#xff0c;索引从0开始。下面的示例展示了如何使用索引来取出列表中的指定…

六、docker安装ngxin部署若以前端

1.第一次安装&#xff0c;不进行挂载数据卷&#xff0c; docker run \ -p 8060:80 \ --name nginx \ --privilegedtrue \ --restartalways \ -d nginx:1.17.82. 将配置信息复制到宿主机本地 # 将容器nginx.conf文件复制到宿主机 docker cp nginx:/etc/nginx/nginx.conf /data…

总投资300亿,南山前海南山村旧改城市更新

南山村 项目位于南山区南山街道南山村旧村片区&#xff0c;东临南新路&#xff0c;南临东滨路&#xff0c;西临前海路&#xff0c;北临南园村。地处联系前海、后海两大中心区的空间发展轴带上&#xff0c;区位交通条件优越。位于9号线延长线前海路站附近&#xff0c;也因地处大…

背包问题总结篇

背包问题总结篇 关于这几种常见的背包&#xff0c;其关系如下&#xff1a; 通过这个图&#xff0c;可以很清晰分清这几种常见背包之间的关系。 在讲解背包问题的时候&#xff0c;我们都是按照如下五部来逐步分析&#xff0c;相信大家也体会到&#xff0c;把这五部都搞透了&…

【C++刷题】【动态规划篇】(一)

动态规划篇&#xff08;一&#xff09; 一、1137. 第 N 个泰波那契数&#xff08;easy&#xff09;二、三步问题&#xff08;easy&#xff09;三、使用最小花费爬楼梯&#xff08;easy&#xff09;四、解码方法&#xff08;medium&#xff09;五、不同路径&#xff08;medium&a…

如何利用地面控制点实现倾斜摄影三维模型数据的几何坐标变换和纠正?

如何利用地面控制点实现倾斜摄影三维模型数据的几何坐标变换和纠正&#xff1f; 倾斜摄影是一种在空中拍摄地表物体的技术&#xff0c;可以获得高分辨率、高精度的三维模型数据&#xff0c;广泛应用于城市规划、建筑设计、土地管理等领域。然而&#xff0c;由于航拍时无法避免姿…

ClassLoader源码

介绍 ClassLoader 顾名思义就是类加载器 ClassLoader 是一个抽象类 没有父类 作用 1.负责将 Class 加载到 JVM 中 2.审查每个类由谁加载&#xff08;父优先的等级加载机制&#xff09; 3.将 Class 字节码重新解析成 JVM 统一要求的对象格式 常量&变量 //注册本地方法…

chatgpt赋能python:Python实现动态排名:在SEO游戏中的使用

Python实现动态排名&#xff1a;在SEO游戏中的使用 搜索引擎优化&#xff08;SEO&#xff09;是一项必不可少的活动&#xff0c;可以提高网站在搜索结果中的排名和流量。其中之一是动态排名&#xff0c;它可以根据网站相应信息的变化而自动更新排名&#xff0c;使网站始终保持…

chatgpt赋能python:Python技巧:如何用Python去除文本中的头和尾

Python技巧&#xff1a;如何用Python去除文本中的头和尾 在任何文本处理任务中&#xff0c;去除文本数据的头和尾是非常常见的需求。这在搜索引擎优化&#xff08;SEO&#xff09;中尤其重要&#xff0c;因为头和尾中可能包含重复的内容&#xff0c;这会降低网页的排名。在这篇…

翻筋斗觅食海鸥优化算法-附代码

翻筋斗觅食海鸥优化算法 文章目录 翻筋斗觅食海鸥优化算法1.海鸥优化算法2. 改进海鸥优化算法2.1 非线性参数 &#xff21; 策略2.2 翻筋斗觅食策略 3.实验结果4.参考文献5.Matlab代码6.python代码 摘要&#xff1a;针对基本海鸥优化算法(SOA)在处理复杂优化问题中存在低精度、…

Linux会替代Windows吗?

Windows用户们&#xff0c;去还是留&#xff1f; Windows 依然是高居榜首的桌面操作系统&#xff0c;占据 90% 以上的市场份额&#xff0c;远超 macOS 和 Linux 。 从数据来看&#xff0c;尽管 linux 并不是 Windows 的头号接班人&#xff0c;但近几年越来越多用户转向 Ubunt…

Vue嵌套表单的 Dialog精美模板分享

文章目录 &#x1f412;个人主页&#x1f3c5;Vue项目常用组件模板仓库&#x1f4d6;前言&#xff1a;&#x1f380;源码如下&#xff1a; &#x1f412;个人主页 &#x1f3c5;Vue项目常用组件模板仓库 &#x1f4d6;前言&#xff1a; 本篇博客主要提供vue组件之嵌套表单的 D…