XSS漏洞分析

news2024/9/20 15:35:08

原理:利用网页开发时web应用程序对用户输入过滤不足导致将恶意代码注入到网页中,使用户浏览器加载并执行恶意代码,通常是JavaScript类型,也包括java、vbs、flash、html等。 

解码的顺序是HTML,URL和JavaScript

常用的测试方法:alert、confirm、prompt

第一题:

<a href="%6a%61%76%61%73%63%72%69%70%74:%61%6c%65%72%74%28%31%29">aaa</a>

执行不了。%6a%61%76%61%73%63%72%69%70%74和 %61%6c%65%72%74%28%31%29为url的编码

解码为:<a href="script:alert(1)">aaa</a> ,但是href不认识url的编码,所以不能执行

第二题:

<a href="&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:%61%6c%65%72%74%28%32%29">

执行得了,因为先经过html的解码。而 以&#的是以html的实体编码,所以可以运行

第三题:

<a href="javascript%3aalert(3)">ccc</a>

执行不了 ,一样的道理,%3a为url编码,href识别不了

第四题:

<div>&#60;img src=x onerror=alert(4)&#62;</div>

执行不了。解析器在解析这个字符引用后不会转换到“标签开始状态”。正因为如此,就不会建立新标签。因此,我们能够利用字符实体编码这个行为来转义用户输入的数据从而确保用户输入的数据只能被解析成“数据”。从HTML解析机制看,在读取<div>之后进入数据状态,<会被HTML解码,但不会进入标签开始状态,当然也就不会创建img元素,也就不会执行

第五题:

<textarea>&#60;script&#62;alert(5)&#60;/script&#62;</textarea>

执行不了。 以上编码可以被解码,但是会以原样输出,原因如下

可以看出<textarea>标签为RCDATA元素,只可以容纳文本和字符引用

第六题:

<button onclick="confirm('7&#39;);">Button</button>

可以执行,因为&#39;被html解码成了'

第七题:

<button onclick="confirm('8\u0027);">Button</button>

 执行不了。在JS中只有字符串和标识符能用Unicode表示,'显然不行,JS执行失败

第八题: 

<script>&#97;&#108;&#101;&#114;&#116&#40;&#57;&#41;&#59</script>

执行不了。在上面例子中提过,script属于原始文本元素,可以容纳文本,但是没有字符引用,所以不能对我们的编码进行解码,所以不能执行

第九题:

<script>\u0061\u006c\u0065\u0072\u0074(10);</script>

可以执行。直接当成文本提交,然后会对url编码进行解码,所以可以执行

第十题:

<script>\u0061\u006c\u0065\u0072\u0074\u0028\u0031\u0031\u0029</script>

执行不了。一样的道理在JS中只有字符串和标识符能用Unicode表示,所以不能执行

第十一题: 

<script>\u0061\u006c\u0065\u0072\u0074(\u0031\u0032)</script>

不能执行。这里看似将没毛病,但是这里\u0031\u0032在解码的时候会被解码为字符串12,注意是字符串,不是数字,文字显然是需要引号的,JS执行失败  

第十二题:

<script>alert('13\u0027)</script>

执行不了。 一样的道理在JS中只有字符串和标识符能用Unicode表示,所以不能执行

第十三题: 

<script>alert('14\u000a')</script>

可以执行。\u000a在JavaScript里是换行,就是\n,相当于在源码里直接按一下回车键,可以执行

第十四题: 

<a href="&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x36;&#x25;&#x33;&#x31;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x36;&#x25;&#x36;&#x33;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x36;&#x25;&#x33;&#x35;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x37;&#x25;&#x33;&#x32;&#x25;&#x35;&#x63;&#x25;&#x37;&#x35;&#x25;&#x33;&#x30;&#x25;&#x33;&#x30;&#x25;&#x33;&#x37;&#x25;&#x33;&#x34;&#x28;&#x31;&#x35;&#x29;"></a>

 在href中由URL模块处理,解码得到

javascript:\u0061\u006c\u0065\u0072\u0074(15)

识别JS协议,然后由JS模块处理,解码得到

javascript:alert(15)

最后被执行 

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

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

相关文章

【运维】macos使用微软官方远程桌面工具mstsc控制windows10教程(含失败的解决方法)

【环境】macos使用微软官方远程桌面工具mstsc控制windows10教程&#xff08;含失败的解决方法&#xff09; 文章目录 1、如何获取本地账号密码并连接2、失败&#xff1a;检查被控权限是否有打开3、失败&#xff1a;登录过微软账号的情况 1、如何获取本地账号密码并连接 打开cm…

mysql 物理备份 MySQL 全量备份 增量备份 差异备份 日志备份万字长文 1.3万字

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循版权协议&#xff0c;转载请附上原文出处链接和本声明 注意&#xff0c;通常 完备增备&#xff0c;日志&#xff08;binlog)备&#xff0c;结合使用 差异则根据具体情况选用。 此备份过程 属于公司 常用的单个数据…

OpenVLA: An Open-Source Vision-Language-Action Model

发表时间&#xff1a;13 Jun 2024 作者单位&#xff1a;Stanford University Motivation: the potential to change how we teach robots new skills。然而&#xff0c;VLA 对机器人技术的广泛采用具有挑战性&#xff0c;因为 1&#xff09;现有的 VLA 在很大程度上是封闭的并…

Linux: 进程概念详解

目录 1. 冯诺依曼体系结构 2. 操作系统(Operator System) 1. 概念 2. 设计OS的目的 3. 任务 &#xff08;定位&#xff09; 4. 理解管理 3. 进程 1. 基本概念 2. 描述进程-PCB 3. 进程状态 4. 创建进程 fork 5. (Zombie)-僵尸进程 6. 孤儿进程 7. 进程优先…

[卷积神经网络]YOLOv10论文解读

原文地址&#xff1a; YOLOv10: Real-Time End-to-End Object Detectionhttps://arxiv.org/pdf/2405.14458 项目地址&#xff1a; yolov10https://github.com/THU-MIG/yolov10 一、概述 YOLOv10的改进点主要由两点&#xff1a;①提出一种基于无NMS的一致的双重训练策略&…

构建高效外贸电商系统的技术探索与源码开发

在当今全球化的经济浪潮中&#xff0c;外贸电商作为连接国内外市场的桥梁&#xff0c;其重要性日益凸显。一个高效、稳定、功能全面的外贸电商系统&#xff0c;不仅能够助力企业突破地域限制&#xff0c;拓宽销售渠道&#xff0c;还能提升客户体验&#xff0c;增强品牌竞争力。…

Web网站的授权oAuth2.0 单点登录

1.Web网站的授权(oAuth2.0) Client 第三方应用&#xff08;需要做鉴权的业务网站、业务系统&#xff09;UserAgent 用户代理&#xff08;浏览器&#xff09;Resource Owner 用户授权&#xff08;用户手动点击【同意】按钮&#xff0c;授权使用第三方登录渠道&#xff09;&#…

CPU飙升 怎么定位问题

传统的方法 【top】 查看所有进程占系统CPU的排序&#xff0c;定位是哪个进程搞的鬼。PID那一列就是进程号。 【top -Hp pid】 定位进程中使用 CPU 最高的线程tid 【printf ‘0x%x’ tid】 线程 tid 转化 16 进制,例如printf ‘0x%x’ 11882 得到16进制的 0x2e6a 【jstack…

Spring——IOC/DI思想

1、IOC&#xff08;Inversion of Control&#xff09;控制反转 何为控制反转&#xff1f; 在业务层中我们如果要调用数据层的方法那么必然牵扯到对象的创建&#xff0c;如果我想要改变上述数据层的方法中的内容&#xff0c;那么我就要改变业务层的代码&#xff0c;重新创建对…

R语言的矩阵运算

下面内容摘录自《R 语言与数据科学的终极指南》专栏文章的部分内容&#xff0c;每篇文章都在 5000 字以上&#xff0c;质量平均分高达 94 分&#xff0c;看全文请点击下面链接&#xff1a; 3章4节&#xff1a;R的逻辑运算和矩阵运算-CSDN博客文章浏览阅读165次。在 R 语言的丰…

PHP概述、环境搭建与基本语法讲解

目录 【学习目标、重难点知识】 什么是网站&#xff1f; 1. PHP 介绍 1.1. PHP 概述 1.1.1. PHP 是什么&#xff1f; 1.1.2. PHP 都能做什么&#xff1f; 1.2. PHP 环境搭建 1.2.1. PhpStudy 2. PHP 基本语法 2.1. PHP 语法入门 2.1.1. 第一个 PHP 程序 2.1.2. PHP …

Postman入门指南

前言 当前最为主流的开发模式&#xff1a;前后端分离 在这种模式下&#xff0c;前端技术人员基于"接口文档"&#xff0c;开发前端程序&#xff1b;后端技术人员也基于"接口文档"&#xff0c;开发后端程序。 由于前后端分离&#xff0c;对我们后端技术人…

PHP 无参数RCE总结

在这篇文章中&#xff0c;我总结了在参与CTF比赛过程中积累的关于PHP无参数远程代码执行&#xff08;RCE&#xff09;的经验。由于一直以来时间有限&#xff0c;今天终于有机会整理这些知识点。 可能用到的函数&#xff08;PHP的内置函数&#xff09; localeconv() 函数返回一…

String 事务

目录 一、什么是事务 二、Spring事务的实现方式 1、编程式事务 2、声明式事务 三、自动操作事务的注解的三个属性 1、rollbackFor 2、isolation 3、propagation 前言&#xff1a;本文所见围绕的主题是事务&#xff0c;所以笔者先讲解什么是事务&#xff0c;先让大家了解…

Selenium + Python 自动化测试15(模块化测试)

我们的目标是&#xff1a;按照这一套资料学习下来&#xff0c;大家可以独立完成自动化测试的任务。 上一篇我们讨论了使用SMTP 对象的sendmail 发送HTML报告的方法。 本篇文章我们接着讲测试代码的一些优化&#xff0c;提高我们测试代码的易读性&#xff0c;维护方便性。大家也…

ZooKeeper 集群的详细部署

ZooKeeper 集群部署 一、ZooKeeper 简介1.1 什么是 ZooKeeper1.2 ZooKeeper 特点 二 ZooKeeper 的架构和设计4.1 ZooKeeper 数据模型4.1.1 Znode 节点特性 三、ZooKeeper 的集群安装前准备工作3.1 需要的准备工作3.2 Linux 系统 3 个节点准备3.2.1 克隆3.2.2 配置另外两台服务器…

评论系统如何不崩溃?揭开海量评论背后的技术秘密

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是小米!今天我们来聊聊一个非常实际的场景:海量新闻评论的入库问题。假设你在某个新闻平台工作,某条热门新闻突然火爆,用户的评论量如潮水…

SpringBoot Web开发(请求,响应,分层解耦)

Author_T17&#x1f965; 目录 一.请求响应概述 1.Servlet 2.DispatcherServlet 3.请求响应工作概图 4.BS/CS架构 二.API测试工具 三.请求 1.简单参数 &#xff08;1&#xff09;原始方式&#xff08;不推荐&#xff09; ​编辑 &#xff08;2&#xff09;Spring Boo…

【剑指 offer】删除链表中重复的结点

目 录 描述: 在一个排序的链表中&#xff0c;存在重复的结点&#xff0c;请删除该链表中重复的结点&#xff0c;重复的结点不保留&#xff0c;返回链表头指针。 例如&#xff0c;链表 1->2->3->3->4->4->5 处理后为 1->2->5 思路&#xff1a; 通过快慢…

2024年阳光电源社招校招入职测评:前程无忧智鼎题库全解析

在职场竞争日益激烈的今天&#xff0c;企业对人才的选拔标准越来越高。阳光电源&#xff0c;作为行业的领军企业&#xff0c;采用了前程无忧智鼎题库进行社招校招入职测评&#xff0c;旨在通过科学的方法选拔出与企业文化和价值观高度契合的人才。 测评概览 测评名称&#xff1…