DOM破坏案例

news2024/9/20 18:28:24

目录

DOM破坏

编码问题

简单闭合""号使用onclick

onclick函数 焦点事件

标签使用

限制数字字母

js匿名函数绕过

覆盖

 DOM破坏

编码问题

 urlcode可以被识别 %+16进制

 <textarea> 可以解码不能执行

<script>&#97;&#108;&#101;&#114;&#116;&#40;&#57;&#41;&#59</script>  没有实体编码 script可以可以容纳文本 所有状态都是原始文本 sprint状态字符不会编码和解码  js语法中将其当做文本执行但是js不认识&符号所以不能执行报错

编码顺序 :实体编解码---->url编解码----->unicode编码

unicode编码编译的符号代码语法错误不能被html识别

unicode可以被js识别可以执行但是不能编码符号 不会运行

unicode将数字或者要执行的函数属性进行编码后 想要执行的话如果是数字以及属性没有加上‘ ‘的话会认为其是字符串会产生js语法错误。如(12)----》(/u0031/u0032)

简单闭合""号使用onclick

?jeff=aaa"-alert(1337)-"

闭合双引号 执行后续代码

onclick函数 焦点事件

onclick 是html的一个属性 添加点击功能执行我们的代码

不和用户交互 用onfocus autofocus自动触发

?wey=nb"%20οnfοcus=alert(1337)%20autofocus="

设置焦点事件autofocus自动触发

标签使用

img标签 利用onerror属性找不到图片后 触发后面的函数用 location属性来修改url后面的值的类型是其能被html读取

?markassbrownlee=<img%20οnerrοr=location="javasecript:alert%25281%2529>

%25是%的urlcode编码 题目过滤()我们使用%28%29代替时 接着使用%25来编码百分号绕过限制 

限制数字字母

固定方法利用编码进行绕过例如将函数alert(1377)编码为不包含字母数字的形式 其中包含符号不被html解析 需要再次使用编码将其转换为十六进制再放到html中执行

js匿名函数绕过

mafia=Function(ALERT(1337).source.toLowerCase())() Function构造匿名函数 source.toLowerCase()实现转换大写为小写 绕过正则 执行alert

使用函数进行进制转换 parseint函数转换alert 再使用toString转换回去  ..toString(30到36之间)用eval将输入的代码当做js执行

覆盖

可以通过覆盖标签以及原本的元素达到替换执行自己代码的效果可以用来过滤一些前端的防御框架

例如 

写一个标签 第一行 div

然后插入到body中去用img标签覆盖原来的document.cookie

第三行使用document.cookie直接取到我们上面定义好的标签里面去。

这是弱数据类型语言的特征

题目:  ?bommer=<a%20id=ok%20href="tel:alert(1337)">

这个例子中

        利用setTimeout需要创建一个ok元素 是一个字符串是一个可执行的函数代码 用a标签自动调用toString方法 让id=我们创造的OK 后面直接使用执行herf中的例如javascript:alert()由于前面的web框架防护机制 javascript可能被过滤掉 找到白名单上允许使用的协议即可


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

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

相关文章

基于asp.net的在线考试系统、基于c#的在线考试管理系统

摘 要 伴随着社会以及科学技术的发展&#xff0c;互联网已经渗透在人们的身边&#xff0c;网络慢慢的变成了人们的生活必不可少的一部分&#xff0c;紧接着网络飞速的发展&#xff0c;管理系统这一名词已不陌生&#xff0c;越来越多的学校、公司等机构都会定制一款属于自己个…

SpingBoot自动装配原理

一&#xff0c;什么是SpringBoot自动装配 springboot自动装配&#xff1a;一个springboot项目通过扫描类路径下存在的类和各种配置信息自动装配&#xff0c;生成对应的B哦按对象&#xff0c;然后将他们交给spring容器管理。 二、SpringBoot自动装配原理 2.1启动类注解SpringB…

在MAVEN中版本依赖有冲突改怎么处理

1.为什么会出现版本依赖的冲突 如果存在版本冲突&#xff0c;通常可能会引发的报错是ClassNotFoundException、NoSuchMethodError等错误。Maven依赖版本冲突通常是由于间接依赖导致同一个jar包存在多个不同版本。例如&#xff0c;如果B依赖了A的1.0版本&#xff0c;而C依赖了A…

Nginx--防盗链问题

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、什么是盗链 盗链是一种网络行为&#xff0c;指的是一个网站未经授权&#xff0c;直接使用另一个网站资源&#xff08;如图片、视频、音乐、文件等…

人人可以做的RAG检索增强生成实战

AI大模型持续火爆&#xff0c;我作为IT人员从业者也想参与一下&#xff0c;但是奈何大模型的参数太大&#xff0c;动辄上亿的参数需要很大的算力&#xff0c;GPU卡必不可少&#xff0c;对于手头羞涩的小白&#xff0c;不想投几千大洋只为了满足自己的好奇心。这真是个难题。 现…

【车载开发系列】单片机烧写的文件

【车载开发系列】单片机烧写的文件 【车载开发系列】单片机烧写的文件 【车载开发系列】单片机烧写的文件一. 什么是bin二. 什么是Hex三. 什么是Motorola S-record&#xff08;S19&#xff09;四. ELF格式五. Bin与Hex文件的比对六. 单片机烧写文件的本质 一. 什么是bin bin是…

回顾 | 瑞云科技亮相ICIC2024,虚拟仿真实训云平台引关注

2024年8月7日&#xff0c;天津市虚拟仿真学会主办的第二十届智能计算国际会议&#xff08;ICIC2024&#xff09;——虚拟仿真技术交流平行会议暨天津市虚拟仿真学会2024年暑期技术交流会在天津盛大召开。本次大会汇聚来自全国的顶尖专家、学者和行业领袖&#xff0c;共同探讨虚…

Notepad--文本编辑工具 for Mac教程【苹果电脑-简单轻松上手-免费Mac软件推荐】

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件&#xff0c;将其拖入应用程序中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功 三、运行测试解决“软件已损坏&#xff0c;无法打开”问题&#xff0c;若没有该问题&#xff0c;可…

TI DSP TMS320F280025 Note1:工程模板Template创建

TMS320F280025工程模板Template创建 文章目录 TMS320F280025工程模板Template创建新建一个ccs工程为需要添加的一些文件新建文件夹从c2000中拷贝官方基础文件到工程中cmd链接文件common头文件和源文件headers头文件和源文件库函数文件添加driverlib.lib文件 添加文件的路径文件…

【微信小程序】生命周期

1. 什么是生命周期 2. 生命周期的分类 3. 什么是生命周期函数 4. 生命周期函数的分类 5. 应用的生命周期函数 小程序的应用生命周期函数需要在app.js中进行声明&#xff0c;示例代码如下&#xff1a; 6. 页面的生命周期函数 小程序的页面生命周期函数需要在页面的 .js 文件…

将 hugo 博客搬迁到服务器

1. 说明 在 Ubuntu 22.04 上使用 root 账号&#xff0c;创建普通账号&#xff0c;并赋予 root 权限。 演示站点&#xff1a;https://woniu336.github.io/ 魔改hugo主题: https://github.com/woniu336/hugo-magic 2. 服务器配置 建立 git 用户 adduser git安装 git sudo apt …

蓝图中结构体改变后,要重新创建widget

发现了一个怪现象&#xff0c;在更改结构体后&#xff0c;界面上出不来相应的信息了&#xff0c;断掉传递到界面上的线后&#xff0c;再重新连接&#xff0c;发现错误“只有完全匹配的结构才是兼容的”&#xff0c;删除后&#xff0c;重新创建widget&#xff0c;正常。 如下图…

【STM32项目】在FreeRtos背景下的实战项目的实现过程(二)

个人主页~ 实战项目的实现过程&#xff08;一&#xff09;~ 实战项目的实现过程 二、初步了解各个外设硬件1、OLED模块2、GPS模块3、MPU6050模块4、超声测距模块5、温度测控模块6、语音模块7、SIM模块8、按键模块 三、查阅资料1、查看手册2、查找例程 四、研究硬件功能1、OLED…

OpenCv图像处理: 时域滤波与频域滤波

时域滤波&#xff1a; 空间域滤波的步骤一般如下&#xff1a; 1. 选择滤波器 选择一种低通滤波器&#xff0c;常见的包括&#xff1a; 均值滤波&#xff08;平均滤波器&#xff09;高斯滤波&#xff08;Gaussian filter&#xff09; 2. 定义滤波器核 根据选择的滤波器类型&…

【卡码网Python基础课 19.洗盘子】

目录 题目描述与分析一、栈二、栈的操作三、代码编写 题目描述与分析 题目描述&#xff1a; 在餐厅里&#xff0c;洗盘子的工作需要使用到栈这种数据结构。 假设你手里有一个盘子堆放区。现在需要模拟洗盘子的过程&#xff0c;每个盘子都有一个编号。 盘子堆放区操作说明&…

同一台电脑上安装不同版本的nodejs(搭配VSCode)

今天拉取了一个前后端分离的项目&#xff0c;运行前端的时候&#xff0c;出现node版本不匹配的情况。 本文章将从安装node.js开始到VSCode使用进行讲解 1、去官网下载node版本 以16版本为例&#xff0c;需要哪个版本&#xff0c;就在网址上把版本号替换即可 https://nodejs.o…

在ADS中使用传输端口参数构建理想元器件模型---以3dB电桥为例

在ADS中使用传输端口参数&#xff08;S、Z、Y、ABCD&#xff09;构建理想元器件模型—以3dB电桥为例 本文工程文件下载&#xff1a;在ADS中使用传输端口参数构建理想元器件模型-以3dB电桥为例-工程文件 目录 在ADS中使用传输端口参数&#xff08;S、Z、Y、ABCD&#xff09;构建…

8月18日笔记

目标不出网场景 在目标环境完全不出网的情况下&#xff0c;即所有的网络通信如SMB&#xff08;Server Message Block&#xff09;、DNS&#xff08;Domain Name System&#xff09;甚至包括TCP&#xff08;Transmission Control Protocol&#xff09;都不允许与外部网络进行交…

使用极限网关实现 ES 跨集群搜索

使用 ES 的小伙伴&#xff0c;有没有在用跨集群搜索的&#xff1f; 熟悉 ES 的小伙伴都知道&#xff0c;ES 本身就能实现跨集群搜索&#xff0c;那为啥还要聊这个&#xff1f;试想一下&#xff0c;如果集群都上线投产了&#xff0c;才出现跨集群搜索需求&#xff0c;那么可能出…

重磅!RISC-V+OpenHarmony平板电脑发布

仟江水商业电讯&#xff08;8月18日 北京 委托发布&#xff09;RISC-V作为历史上全球发展速度最快、创新最为活跃的开放指令架构&#xff0c;正在不断拓展高性能计算领域的边界。OpenHarmony是由开放原子开源基金会孵化并运营的开源项目&#xff0c;已成为发展速度最快的智能终…