常见漏洞之XSS
一、XSS简介
XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的网络攻击方式,通过在网页中注入恶意脚本,当其他用户浏览这些网页时,这些嵌入的恶意脚本会在其浏览器上执行,从而进行各种恶意操作。
二、XSS的原理和类型
- 原理:XSS攻击的基本思想是利用Web应用程序对用户输入的安全检查不足,将恶意代码注入到Web页面中。当其他用户浏览这些被篡改的页面时,恶意脚本就会在他们浏览器上执行。
- 反射型XSS:这种类型的XSS是通过将恶意脚本附加到URL参数中实现的。当用户访问这些包含恶意脚本的链接时,浏览器会执行这些脚本一次,之后不再执行。因此,它被称为非持久型XSS。
- 存储型XSS:这种XSS类型更为危险,因为它将恶意脚本永久存储在Web服务器上(如数据库或文件系统)。每当用户访问这些被篡改的页面时,都会加载并执行这些恶意脚本。
- 基于DOM的XSS:此类XSS不需要与服务器交互,而是在用户的浏览器内部通过JavaScript处理DOM(Document Object Model)时触发。攻击者通过更改DOM环境来执行恶意脚本。
三、XSS测试方式
1. div标签,常规插入
<script>alert(1)</script>
<img src="" οnerrοr=alert(1)>
2. textarea标签 闭合该后插入
</textarea><script>alert(1)</script><textarea>
</textarea><img src="" οnerrοr=alert(1)>
3.内容放在标签内,">闭合标签
"><script>alert(1)</script>
4. 过滤(),使用反单引号`
<script>alert`1`</script>
5. 过滤括号()和反单引号` 使用html实体编码来绕过
<img src="" οnerrοr=alert(1)>
6. 闭合注释符
--!><script>alert(1)</script>
7. 正则过滤auto/on开头及=结尾 和> 换行绕过匹配
type="image" src="" onerror
=alert(1)
8. 换行或空格绕过正则匹配
</style ><script>alert(1)</script>
9.双写绕过
<sscriptcript>alert(1)</sscriptcript>
10. 转义符绕过
\");alert(1);//
四、XSS的危害
- 窃取信息:通过执行恶意脚本,攻击者可以窃取用户的Cookie、Session Tokens及其他敏感信息。
- 会话劫持:攻击者通过窃取Cookie可以冒充用户身份,执行未经授权的操作。
- 网络钓鱼:攻击者可以修改页面内容,重定向用户到假冒网站,诱导用户输入敏感数据。
- 传播恶意软件:通过XSS漏洞,攻击者可以在用户浏览器中植入恶意软件如木马、勒索软件等。
- 篡改网页内容:攻击者可以通过XSS篡改网页内容,比如修改路由器配置信息、繁殖XSS蠕虫等。
五、XSS的防御措施
- 输入过滤:对用户提交的所有数据进行严格的验证和过滤,屏蔽掉可能导致XSS攻击的内容。
- 输出转义:在服务器端输出用户提交的数据前,应对其做适当的转义处理,确保特殊字符不会被解析为脚本标签。
- 使用CSP:通过设置HTTP的Content Security Policy响应头,限制哪些资源可以被加载和执行,有效防止恶意脚本注入。
- HttpOnly Cookie:设置Cookie的HttpOnly属性,防止JavaScript读取Cookie,降低信息被盗用的风险。
- 渗透测试:对Web应用程序定期进行渗透测试,发现并修补潜在的XSS漏洞
相关文章:
常见漏洞之XSS
一、XSS简介 XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的网络攻击方式,通过在网页中注入恶意脚本,当其他用户浏览这些网页时,这些嵌入的恶意脚本会在其浏览器上执行,从而进行各种恶意…...
Python变量的命名规则与赋值方式
第二章:Python 基础语法 第一节:变量的命名规则与赋值方式 2.1.1 引言 在编程中,变量是存储数据的基本单元。变量的命名和赋值是编程语言中表达和操作数据的基础。了解和遵循变量命名规则对于编写清晰、可维护的代码至关重要。 2.1.2 变量…...
昇思25天学习打卡营第7天|网络构建
昇思25天学习打卡营第7天|网络构建 前言函数式自动微分函数与计算图微分函数与梯度计算Stop GradientAuxiliary data神经网络梯度计算 个人任务打卡(读者请忽略)个人理解与总结 前言 非常感谢华为昇思大模型平台和CSDN邀请体验昇思大模型!从今…...
扩展阅读:什么是中断
如果用一句话概括操作系统的原理,那就是:整个操作系统就是一个中断驱动的死循环,用最简单的代码解释如下: while(true){doNothing(); } 其他所有事情都是由操作系统提前注册的中断机制和其对应的中断处理函数完成的。我们点击一下鼠标,敲击一下键盘,执行一个程序,…...
git 命令学习之branch 和 tag 操作
引言 在项目一个迭代过程结束之时,或是一个版本发布之后,我们要进行 新版本的开发,这时就需要对原来的项目代码进行封存,以及新项目代码的开始,这时就需要用到 branch 和 tag 操作。下面简单说说对这两个操作的理解。…...
如何理解 IEEE 754 单精度浮点型能表示的最小绝对值、最大绝对值
文章目录 解答最小绝对值最大绝对值总结 细节理解1. 为什么非规格化数的指数偏移量为126(而不是127)?规格化数与非规格化数非规格化数的指数偏移量非规格化数的尾数非规格化数的值示例 解答 IEEE 754单精度浮点数使用32位来表示一个数值&…...
LeetCode 算法:二叉树的右视图 c++
原题链接🔗:二叉树的右视图 难度:中等⭐️⭐️ 题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4…...
Java 并发编程常见问题
1、线程状态它们之间是如何扭转的? 1、谈谈对于多线程的理解? 1、对于多核CPU,多线程可以提升CPU的利用率; 2、对于多IO操作的程序,多线程可以提升系统的整体性能及吞吐量; 3、使用多线程在一些场景下可…...
网络基础:静态路由
静态路由是一种由网络管理员手动配置的路由方式,用于在网络设备(如路由器或交换机)之间传递数据包。与动态路由不同,静态路由不会根据网络状态的变化自动调整。 不同厂商的网络设备在静态路由的配置上有些许差异;下面…...
库存管理系统基于spingboot vue的前后端分离仓库库存管理系统java项目java课程设计java毕业设计
文章目录 库存管理系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 库存管理系统 一、项目演示 库存管理系统 二、项目介绍 基于spingboot和vue前后端分离的库存管理系统 功能模块ÿ…...
【ArcGIS AddIn插件】【可用于全国水旱灾害风险普查】全网最强洪水淹没分析插件-基于8邻域种子搜索算法-有源淹没分析算法
最近有很多GIS小伙伴咨询我关于基于8邻域种子搜索算法的有源淹没分析插件的使用方法及原理,咱们通过这篇文章给大家详细介绍下这款插件的运行机制。 一、插件类型及适用版本 本插件属于ArcGIS AddIn工具条插件,基于ArcGIS Engine10.2.2的开发环境开发的&…...
==和equals的区别(面试题)
和equals有什么区别 对于基本数据类型,比较的是值是否相等,对于引用类型则是比较的地址是否相等;对于equals来说,基本数据类型没有equals方法,对于引用类型equals比较的是引用对象是否相同 那针对以上结论,…...
本地项目上传到GitHub上(李豆)
本地项目上传到GitHub上(李豆) 准备工作: 本地需要有 git 也需要有一个 GitHub 账号 首先需要在 GitHub 新建一个空仓库 在想要上传项目的文件夹中使用 Git 命令操作 初始化: git init与 github 仓库进行链接 :git remote add origin …...
碧海威L7云路由无线运营版 confirm.php/jumper.php 命令注入漏洞复现(XVE-2024-15716)
0x01 产品简介 碧海威L7网络设备是 北京智慧云巅科技有限公司下的产品,基于国产化ARM硬件平台,采用软硬一体协同设计方案,释放出产品最大效能,具有高性能,高扩展,产品性能强劲,具备万兆吞吐能力,支持上万用户同时在线等高性能。其采用简单清晰的可视化WEB管理界面,支持…...
redis实战-添加商户缓存
为什么要使用缓存 言简意赅:速度快,好用缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,缓存可以大大降低用户访问并发量带来的服务器读写压力实际开发中,企业的数据量,少…...
SQL游标的基本使用方法与示例
SQL游标的基本使用方法与示例 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨SQL游标的基本使用方法及示例。在数据库编程中,游标是一…...
还不知道工业以太网和现场总线区别???
工业以太网 工业以太网是一种专为工业环境设计的网络通信技术,它基于标准的以太网技术,但针对工业应用进行了优化。工业以太网能够适应高温、低温、防尘等恶劣工业环境,采用TCP/IP协议,与IEEE 802.3标准兼容,并在应用层…...
量化交易 - 策略回测
策略回测 1、什么是策略回测?2、策略回测的作用3、策略回测系统概述3.1策略回测中相关的指标介绍3.2量化交易策略的资金容量3.3 完整的策略回测系统包含哪些内容 1、什么是策略回测? 策略回测,也称之为策略回溯测试,是指利用交易…...
Java--选择排序
思想 从左向右遍历数组,让每个数组元素依次作为基准,将基准数组扫描一次,若有元素比基准小则标记这个元素,若后续元素存在比此元素更小的,则标记更小的元素,遍历完此次数组之后,交换基准和标记数…...
Python基础之模块和包
文章目录 1 模块和包1.1 模块和包1.1.1 模块1.1.2 包1.1.3 简单使用 1.2 import 语句1.2.1 import1.2.2 from … import 语句1.2.3 from … import * 语句 1.4 深入模块1.4.1 模块符号表1.4.2 __name__属性1.4.3 dir() 函数1.4.4 作用域 1.5 常用内置模块 1 模块和包 1.1 模块…...
微信无法登录时的恢复操作
本文记录 OpenClaw 中 openclaw-weixin 插件在登录态丢失、微信链接不可用、扫码登录失败时的恢复流程。2026-03-23 版本 OpenClaw 更新后曾出现微信插件失效,但在 2026-03-24 版本中已恢复。本文目标是先判断问题类型,再选择最小影响的修复方式,避免不必要的全量重装。 一、…...
3D场景重建与实时渲染:XV3DGS-UEPlugin技术指南
3D场景重建与实时渲染:XV3DGS-UEPlugin技术指南 【免费下载链接】XScene-UEPlugin 项目地址: https://gitcode.com/gh_mirrors/xv/XScene-UEPlugin XV3DGS-UEPlugin是由XVERSE Technology Inc.开发的基于Unreal Engine 5的混合编辑插件,提供Gaus…...
3步释放20GB空间:给Android用户的系统减负指南
3步释放20GB空间:给Android用户的系统减负指南 【免费下载链接】universal-android-debloater Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices. Improve your privacy, the security and battery life of your device. 项目…...
夺回社交主动权:iBeebo如何让微博回归纯粹体验
夺回社交主动权:iBeebo如何让微博回归纯粹体验 【免费下载链接】iBeebo 第三方新浪微博客户端 项目地址: https://gitcode.com/gh_mirrors/ib/iBeebo 你是否经历过这样的时刻?通勤路上想快速刷几条微博,却被开屏广告耽误了上车时间&am…...
【读书笔记】《逆风跑者》
《逆风跑者》| 长跑人的阿甘正传 如果你也曾困顿过,迷茫过,被生活压得喘不过气来,那么就拉过一把椅子静静地坐一会儿吧。听我说说这位无声跑者的事儿,和他一起不屈不挠地寂静奔跑一次。 📖 关于这本书 《逆风跑者》是…...
直流GIL绝缘子表面电荷积聚的电热耦合机理与电场畸变特性研究
中国电机工程学报文献复现 关于comsol GIL仿真模型:基于电热多物理场耦合模型的直流GIL 绝缘子表面电荷积聚及其对沿面电场影响的研究上周啃完那篇中国电机工程学报的直流GIL绝缘子仿真论文,本来以为照着公式套就能搞定,结果在Comsol里卡了整…...
开源风扇控制工具FanControl全攻略:从问题诊断到散热方案优化
开源风扇控制工具FanControl全攻略:从问题诊断到散热方案优化 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Tren…...
3步轻松上手BepInEx:Unity插件框架新手必备指南
3步轻松上手BepInEx:Unity插件框架新手必备指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是一款专为Unity游戏设计的插件框架,能帮助开发者轻…...
系统焕新:Win11Debloat工具让Windows性能提升51%的全方位优化方案
系统焕新:Win11Debloat工具让Windows性能提升51%的全方位优化方案 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更…...
从51job爬虫案例出发,聊聊如何用Selenium优雅地绕过前端反爬机制
从51job爬虫案例解析Selenium反反爬高阶策略 当招聘网站的前端技术不断升级,传统爬虫手段逐渐失效时,如何让自动化工具的行为更像真实用户?这个问题困扰着许多中高级开发者。以51job为例,其动态加载、URL不变的设计让常规爬虫束手…...
