No.14 笔记 | XSS漏洞:原理、类型与防御策略

一、HTML和JavaScript基础

1. HTML基础

  • HTML概述:超文本标记语言,用于实现页面跳转和显示数据。
  • 结构标准:包括<!doctype html>声明文档类型,<html>根标签,<head>头部标签和<body>主体标签等。
  • 标签分类:分为单标签(如<br/><hr/>)和双标签(如<a></a><html></html>)。
  • form标签:用于创建HTML表单,包含输入元素、菜单、文本区域等,用于向服务器传输数据。
  • iframe标签:允许在同一浏览器窗口中显示多个页面。

2. JavaScript基础

  • 概述:一种直译式脚本语言,与Java无关,可动态操作HTML内容、响应事件、读写HTML元素等。
  • 引入方式:可通过<script>标签直接在HTML中编写,也可引用外部文件。
  • 常用函数:包括alert()confirm()prompt()
  • 事件类型:包括鼠标事件、键盘事件和HTML事件,如onmouseoveronclick等。

3. Cookie和Session

  • Cookie:保存在客户端的文本文件,用于记录用户信息,分为本地Cookie和临时Cookie。
  • Session:存储在服务器的类HashTable结构,用于存放用户数据,通过SessionID标识。

二、XSS漏洞原理

  • 定义:XSS(Cross Site Scripting)是指攻击者将恶意脚本植入网页,当用户访问时脚本被执行。
  • 攻击流程
    1. 攻击者注入JS代码。
    2. 用户浏览包含恶意代码的页面。
    3. 浏览器执行恶意代码,达到攻击者目的。
  • 危害:包括弹框骚扰、挂马攻击、会话劫持、Cookie盗取、用户提权、账号盗取、DDOS攻击、蠕虫传播等。

三、XSS漏洞分类与利用

1. 反射型(非持续型)

  • 原理:恶意脚本附加在URL参数中,前端执行,不存储在后端。
  • 攻击步骤:攻击者构造特殊URL,用户访问后,服务端返回拼接后的HTML,浏览器执行恶意代码。

2. 存储型(持续型)

  • 原理:恶意代码存储在服务器,当用户浏览相关页面时执行,持久性存储。
  • 攻击步骤:攻击者将恶意代码提交到目标网站,用户访问时,服务端从数据库取出并返回给浏览器执行。

3. DOM型

  • 原理:XSS代码不需服务端解析,由浏览器端DOM解析触发。
  • 攻击步骤:攻击者构造特殊URL,用户访问后,浏览器端直接执行恶意代码。

四、XSS漏洞绕过方法

  1. 大小写绕过:如<ScRiPt>alert(1)</ScRiPt>
  2. 双写绕过:如<sc<script>ript>alert(/xss/)</script>
  3. 反引号绕过:绕过单双引号过滤。
  4. 关闭标签绕过:利用<>关闭标签。
  5. 超链接标签绕过:如<a href= >1</a>
  6. 图片链接绕过:如<img src=1 onerror=alert(1)>
  7. 编码绕过:利用八进制、十进制、十六进制编码、HTML实体编码、URL编码、base64等,以及空格、回车、换行符、tab、混淆等。

五、XSS漏洞防御

  1. CSP内容安全策略:禁止加载外域代码、外域提交,禁止内联脚本执行和未授权脚本执行。
  2. 设置HttpOnly:防止Cookie被窃取。
  3. 输入输出检查:在前端和后端进行,采用白名单或黑名单验证,对输出字符进行HTML编码。

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

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

相关文章

鸿鹄企业电子招投标采购系统视频详解|在线招投标|评标|竞标|单一采购|询价|邀标|在线开标|招标公告发布|评审专家|招标代理机构|招投标采购系统视频讲解

鸿鹄企业电子招投标采购系统视频详解|在线招投标|评标|竞标|单一采购|询价|邀标|在线开标|招标公告发布|评审专家|招标代理机构|招投标采购系统视频讲解 鸿鹄企业招投标采购系统视频讲解地址企业软件定制擅长跟我学习springcloud,honghu b2b2c,知识付费,等方面的知识,企业软件定…

了解网页 blob 链接

blob 链接 自从 HTML5 提供了 video 标签&#xff0c;在网页中播放视频变得非常简单&#xff0c;只要在代码中插入一个 video 标签&#xff0c;再将 video 标签的 src 属性设置为视频的链接就可以了。由于 src 指向的是视频文件真实的地址&#xff0c;所以当我们通过浏览器的调…

自动驾驶系列—从IMU到惯性定位算法:自动驾驶精准定位的幕后科技

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

ACM(Association for Computing Machinery)简介

ACM&#xff08;Association for Computing Machinery&#xff09;简介 ACM&#xff0c;全称为 Association for Computing Machinery&#xff0c;中文译作“计算机协会”&#xff0c;是全球历史最悠久、规模最大的计算机领域专业组织。成立于1947年&#xff0c;ACM致力于推动…

JavaEE一条龙学习----前端开发准备(二)

上一章为大家推荐了几款前端开发软件 我个人习惯使用VS Code Microsoft出品&#xff0c;轻量但强大&#xff0c;针对于编写现代Web和云应用的跨平台源代码编辑器。可以在MacOS X、Windows和 Linux等操作平台使用。 具有对JavaScript、TypeScript和Node.js的内置支持&#xff0…

20.数据结构与算法-树和二叉树/满二叉树/完全二叉树/二叉树的性质/二叉树的存储结构

树的定义 树的其它表示方法 树的基本术语 树结构和线性结构的比较 二叉树的定义 二叉树案例引入 二叉树的抽象数据类型定义 二叉树的性质 两种特殊形式的二叉树 满二叉树 完全二叉树 完全二叉树的性质 二叉树的存储结构 二叉树的顺序存储 二叉树的链式存储结构 二叉链表 三叉链…

大数据新视界 --大数据大厂之 Hudi 数据湖框架性能提升:高效处理大数据变更

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

五款专业三维数据处理工具:GISBox、Cesiumlab、OSGBLab、灵易智模、倾斜伴侣深度解析

随着三维数据处理技术的广泛应用&#xff0c;尤其是在城市规划、地理信息系统&#xff08;GIS&#xff09;、工程监测等领域&#xff0c;处理倾斜摄影、三维建模以及大规模数据管理的需求日益增加。以下是五款我精心挑选的倾斜摄影和三维数据处理工具——GISBox、Cesiumlab、OS…

节后股票风险学习

说来惭愧&#xff0c;虽然股票搞了有5年&#xff0c;也一直亏钱&#xff0c;但从来不看技术指标&#xff0c;比较关注股票的历史价位。以前没啥钱只能买股价低的一些&#xff0c;后来努力打工存钱&#xff0c;可以买股价高的了&#xff0c;由于比较喜欢买龙头&#xff0c;像北方…

【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的酒店管理系统

开题报告 酒店管理是一个复杂而多样化的领域&#xff0c;涉及到酒店的日常运营、客户服务、房间预订、财务管理等诸多方面。随着科技的不断发展&#xff0c;传统的手工管理方式已经无法满足酒店业的需求。因此&#xff0c;开发一套高效、可靠的酒店管理系统变得至关重要。首先…

C++拾趣——绘制Console中DropdownMenu

大纲 居中显示窗口清屏并重设光标绘制窗口绘制窗口顶部绘制下拉行绘制下拉框选项绘制按钮行绘制窗口底部 修改终端默认行为对方向键的特殊处理过程控制Tab键的处理Enter键的处理上下左右方向键的处理 完整代码代码地址 这次我们要绘制下拉菜单&#xff0c;如下图。 居中显示窗口…

20241008深度学习动手篇

文章目录 1.如何写一个神经网络进行训练?1.1创建一个子类,搭建你需要的神经网络结构1.2 加载数据集1.3 自定义一些指标评估函数1.4训练1.5 结果展示 2.参考文献 1.如何写一个神经网络进行训练? 1.1创建一个子类,搭建你需要的神经网络结构 # File: 241008LeNet.py # Author:…

“炫我”受邀出席虚拟现实及元宇宙产业创新论坛!

当前&#xff0c;新一轮科技革命和产业变革向纵深演进&#xff0c;虚拟现实及元宇宙等相关产业加速发展&#xff0c;催生了新产业新业态新模式&#xff0c;发展潜力巨大、应用前景广阔。 9月27日&#xff0c;由北京市科学技术委员会、中关村科技园区管理委员会&#xff0c;北京…

什么是变阻器?

变阻器是一种电子元件&#xff0c;主要用于调整电路中的电阻值&#xff0c;从而实现对电流、电压等电学参数的控制。它在电路中起到非常重要的作用&#xff0c;广泛应用于各种电子设备和实验装置中。 变阻器的主要作用是改变电路中的电阻值。在电路中&#xff0c;电阻值的大小…

基于springboot vue 学生就业信息管理系统设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm springcloud等开发框架&#xff09; vue .net php phython node.js uniapp小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆…

LC538 - 把二叉搜索树转换为累加树

文章目录 1 题目2 思路3 ACM模式参考 1 题目 https://leetcode.cn/problems/convert-bst-to-greater-tree/description/ 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09; 累加树&#…

递归特征消除(RFE)与随机森林回归模型的 MATLAB 实现

在机器学习中&#xff0c;特征选择是提高模型性能的重要步骤。本文将详细探讨使用递归特征消除&#xff08;RFE&#xff09;结合随机森林回归模型的实现&#xff0c;以研究对股票收盘价影响的特征。我们将逐步分析代码并介绍相关的数学原理。 1. 数据准备 首先&#xff0c;我…

wordpress发邮件SMTP服务器配置步骤指南?

wordpress发邮件功能如何优化&#xff1f;怎么用wordpress发信&#xff1f; 由于WordPress默认的邮件发送功能可能不够稳定&#xff0c;配置SMTP服务器成为了许多网站管理员的选择。AokSend将详细介绍如何在WordPress中配置SMTP服务器&#xff0c;以确保邮件能够顺利发送。 w…

注册安全分析报告:惠农网

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

BLE MESH学习2——自定义MESH网络架构思考

BLE MESH学习2——自定义MESH网络架构思考 基于对WCH CH582这款单片机的了解&#xff0c;其可以实现mesh配网、朋友节点、低功耗节点和中继节点的角色&#xff0c;基本功能无问题。在此基础上&#xff0c;考虑满足IoT需求的MESH架构设计&#xff0c;作为后续设计的“白皮书”。…