XSS反射型和DOM型+DOM破坏

news2024/9/21 10:48:23

目录

第一关

源码分析

payload

第二关

源码分析

payload

第三关

源码分析

payload

第四关

源码分析

payload

第五关

源码分析

payload

第六关

源码分析

第七关

源码分析

方法一:构造函数

方法二:parseInt

方法三:location.hash

第八关

源码分析

思考

实现


靶场地址:XSS Game - Learning XSS Made Simple! | Created by PwnFunction

第一关

源码分析

他的接收参数是somebody,如果有参数就将它放进我们的innerHTML,第一关比较简单,因为innerHTML只限制了一个标签

所以我们可以利用其他标签比如img

payload
somebody=<img src=1 onerror="alert(1337)">

第二关

源码分析

这是使用jeff传参,通过eval进行一个执行,有一个定时器在一秒以后执行,它将ma name赋值给ma,然后在定时器里将ma赋值给maname.innerText,这里的漏洞出自于eval,我们可以尝试闭合的方法去执行

payload
jeff=aaa";alert(1337);"

第三关

源码分析

用wey传参,它过滤了尖括号,但是它没有过滤双引号,input里面的value值是我们用户进行上传的所以我们还是可以尝试用闭合的方式逃逸出来,这里我们可以利用onclick标签,但是这里是不允许用户交互的,所以我们可以利用onfocus焦点,但这个标签也是需要用户自己去对焦的,不过input还有一个标签叫autofocus自动对焦

payload
wey=aaaa" onfocus=alert(1337) autofocus="

第四关

源码分析

它获取一个form表单的id,两秒以后会进行action的自动提交,而form表单里的action会触发伪协议事件

payload
ricardo=JavaScript:alert(1337)

第五关

源码分析

这里它过滤了括号,反斜杠,转义字符,这里也用来innerHTML,这里过滤了括号所以我们不能用那个函数了,于是想到可以用%28和%29进行编码来运行,但是发现并不能实现,因为js是不允许编码符号的,所以想到利用location将payload变成字符串再进行编码

payload
markassbrownlee=<img src=1 onerror=location="javascript:alert%25281337%2529">

第六关

源码分析

这里过滤掉了字母和数字,这就有点难办了,我们好像前面所有的都需要字母和数字,那么我们是否可以尝试使用编码的方式进行绕过

这里有一个网站可以看到编码:JSFuck - Write any JavaScript with 6 Characters: []()!+ (kamil-kielczewski.github.io)

这里就没有数字和字母了,但是我们不能直接就拿过来用,我们还得进行urlcode编码才能使用

第七关

源码分析

这里也是过滤很多的东西,限制了长度50字符,过滤了alert这个函数,但我们可以利用其他的函数比如confirm依然可以

不过这么做就没什么意义,作者的考点也不在这

方法一:构造函数

Function(/ALERT(1337)/.source.toLowerCase())()

这里我们利用构造函数的方法将大写转换为小写后面的()立即执行

方法二:parseInt

但是必须是30以后才能转换回来10才是A,11是B依次类推到30才是t

mafia=eval(8680439..tostring(30))(1337)

方法三:location.hash

他会将#后面的值给取出来,sllice是截取函数所以可以不将#截取出来

mafia=eval(location.hash.slice(1))#alert(1337)

第八关

源码分析

这里也用到了innerHTML,那我们还是先尝试之前的img标签

发现不行他会将我们后面的给删掉,原因是这里有一个过滤框架

DOMPurify这里就很难办了,这个框架不好绕过,我们只能考虑有没有其他的方式了,那我们只能考虑下面这个函数了,它两秒会执行一个ok但又执行不了

思考

我们发现可以利用id或者name方法将标签取出来,那么这里的ok也许可以出现

他会将这个a标签的值给拿出来,所以我们用a标签里面的href他会自动调用tostring方法把他的字符串输出,而如果我们用object的继承方法它会输出的是对象

这道题我们是需要将我们输出的字符串放到我们第一个参数ok里面去

这函数可以当作字符串放进去,而a标签的href可以自动替换成字符串

boomer=<a id=ok href="javascript:alert(1337)">

但是我们并没有实现

难道我们的思路有问题?

其实并没有,而是我们并没有绕过那个框架

我们这里已经是进来了的只是后面被删了

有些白名单是他允许的,他不会删掉

实现

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

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

相关文章

龙门吊(天车)防撞方案

防撞雷达设备&#xff0c;是一款基于无线微波技术自主研发的应答式高精度无线防撞产品&#xff0c;该产品具有测距精度高&#xff08;最高可到10厘米&#xff09;&#xff0c;测距稳定&#xff0c;无累计误差&#xff0c;粉尘、水汽不影响测距精度&#xff0c;抗电磁干扰等特点…

oracle数据库目录及文件

oracle数据库目录及文件 oracle安装后所有根目录 1、admin 目录 里边有不同文件夹&#xff0c;代表一个实例&#xff0c;记录 Oracle 实例的配置&#xff0c;运行日志等文件。每个实例一个目录。 SID&#xff1a;System IDentifier 的缩写&#xff0c;是 Oracle 实例的唯一标记…

IT服务标准化知识体系攻略(至简)

标准是为了在一定范围内获得最佳秩序 &#xff0c;经协商一致制定并由公开机构批准共同使用和重复使用的和中规范性文件。标准是标准化活动的主要成果之一。国家标准的制定有一套正常程序&#xff0c;分为预阶段、立项阶段、起草阶段、征求意见阶段、审查阶段、批准阶段、出版阶…

【区块链+金融服务】第一创业证券开发银行间报价 Dapp | FISCO BCOS应用案例

在银行间市场现券交易的过程中&#xff0c;通过银保监会发牌的代理机构进行报价交易&#xff0c;已解决无代理阶段存在的许多问题。 但是由于业务需要&#xff0c;使用以前模式进行报价交易的仍占有一定比例。 针对这一现状&#xff0c;第一创业证券基于 FISCO BCOS 区块链底层…

工作 sql 数据库创建 表的修改 插入数据

一. 创建数据库 创建数据库 CREATE DATABASE (IF NOT EXISTS) 数据库名称;使用数据库 USE 数据库名称;查看当前数据库中存在的表 SHOW TABLES;删除数据库 DROP DATABASE demolibang 二. 创建表 格式&#xff1a; CREATE TABLE IF NOT EXISTS 表名&#xff08; 字段名 字…

Unity动画模块 之 3D模型导入基础设置 Materials

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正 还是那句话&#xff0c;用到的时候再看看&#xff0c;死记硬背不是正经的学习方法&#xff0c;但是又不得不知道一下&…

javaweb_10:XML映射文件

一、规范 1、XML映射文件的名称与Mapper接口名称一致&#xff0c;并且将XML映射文件和Mapper接口放在相同的包下&#xff08;同包同名&#xff09;。 2、XML映射文件的namesapce属性为Mapper接口全限定名一致。 3、 XML映射文件中sql语句的id与Mapper接口中的方法名一致&a…

培训第二十七天(lvs_nat模式与lvs_dr模式配置)

上午 核心&#xff1a;内核中的ipvs&#xff0c;ipvsadm1、安装ipvsadm[rootnat ~]# yum -y install ipvsadm2、配置规则查看所有的规则&#xff0c;如果已经配置好规则&#xff0c;重启之后也就没有了[rootnat ~]# ipvsadm -L -n 1、配置vip网卡 &#xff08;1&#xff09;在…

数组前缀和算法技巧

一、什么是数组前缀和 数组中前缀和技巧&#xff08;Prefix Sum Technique&#xff09;是一种常见且有用的算法技巧&#xff0c;特别适用于需要频繁查询数组区间和的问题。这种技巧通过创建一个额外的数组来存储原始数组中特定位置之前所有元素的和&#xff0c;从而在需要计算…

【图论】并查集(Union-find Sets)

文章目录 前言一、并查集(Union-find Sets)基本概念基本操作步骤 二、并查集的操作步骤1. 初始化 init2. 查询 find、合并 union&#xff08;未进行路径压缩&#xff09;3. 查询 find、合并 union&#xff08;路径压缩&#xff09; 三、Kruskal 算法中 环 的判断并查集的使用 总…

C++中的string介绍(常用函数)

string类 为什么学习string类C语言中的字符串 标准库中的string类string类(了解)auto和范围forauto关键字范围for string类的常用接口说明(注意下面只讲解最常用的接口)string类对象的常见构造 string类对象的容量操作string类对象的访问及遍历操作string类对象的修改操作strin…

洛谷 P6280 [USACO20OPEN] Exercise G

题目来源于&#xff1a;洛谷 题目本质&#xff1a;dp&#xff0c;素数筛法&#xff0c;质数 本题与P4161基本一模一样 首先&#xff0c;分析题目发现&#xff0c;某个排列的需要进行恰好 K 步变回原样&#xff0c;这个时候K的值就是这个排序中各个环的长的的最小公倍数(lcm)。…

wechatAssetsPicker组件的用法

文章目录 1. 概念介绍2. 思路与方法2.1 使用思路2.2 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"ImagePicker使用总结"相关的内容&#xff0c;本章回中将介绍wechat_assets_picker这个三方包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介…

红外遥控设计验证

前言 红外遥控是一种无线、非接触控制技术&#xff0c;具有抗干扰能力强&#xff0c;信息传输可靠&#xff0c;功耗低&#xff0c;成本低&#xff0c;易实现等显著优点&#xff0c;被诸多电子设备特别是家用电器广泛采用&#xff0c;并越来越多的应用到计算机和手机系统中。本文…

位运算(1)

1.获取第i位的二进制数(只出现一次数字2)&#xff1a; 2.将第i位的二进制设为1&#xff08;只出现一次数字2&#xff09;&#xff1a; 3.int最低位为1的数&#xff08;只出现一次数字3&#xff09;&#xff1a;

【2024】docker镜像拉取失败网络超时解决办法-自建镜像加速服务

目录 前言一、直接配置镜像加速地址二、自己搭建中转服务进行镜像加速1、Fork副本2、创建cloudflare3、注册域名4、测试使用5、配置变量 前言 近期docker官方镜像拉取经常容易出现网络超时&#xff0c;下面为一些常用的处理解决部分 实现docker镜像拉取加速解决方案 直接使用一…

【iOS】Block底层分析

目录 前言Block底层结构Block捕获变量原理捕获局部变量&#xff08;auto、static&#xff09;全局变量捕获实例self Block类型Block的copyBlock作为返回值将Block赋值给__strong指针Block作为Cocoa API中方法名含有usingBlock的方法参数Block作为GCD API的方法参数Block属性的写…

[第五空间 2021]EasyCleanup

题目源代码&#xff1a; <?php if(!isset($_GET[mode])){ highlight_file(__file__); }else if($_GET[mode] "eval"){ $shell isset($_GET[shell]) ? $_GET[shell] : phpinfo();; if(strlen($shell) > 15 | filter($shell) | checkNums($shell)) exit(&q…

git学习使用碰到的问题1

本来在B站上看到的关于stash的使用时视频末尾讲到git stash drop 编号 会删除暂存记录 确实也是这么回事&#xff0c;但是末尾说到git stash pop 编号时up主说在恢复工作进度的时候我们可以直接删除掉这个工作记录可以直接使用 git stash pop stash{0} 使用完以后却出现了如上图…

AI项目二十四:yolov10竹签模型,自动数竹签

若该文为原创文章&#xff0c;转载请注明原文出处。 原本是为部署RK3568而先熟悉yolov10流程的&#xff0c;采用自己的数据集&#xff0c;网上很多&#xff0c;检测竹签&#xff0c;并计数。 1、环境搭建 1.1 官方下载源码 官网地址&#xff1a;YOLOv10 gitbub官网源码 利用…