XSS游戏

目录

  • XSS游戏-Warmups
  • Ma Spaghet!
  • Jefff
  • Ugandan Knuckles
  • Ricardo Milos
  • Ah That's Hawt
  • Ligma
  • Mafia
  • Ok, Boomer
  • WW3

XSS游戏-Warmups

Ma Spaghet!

在这里插入图片描述1. 尝试注入,输入aaaaaaaa
在这里插入图片描述
2. 显示在<h2>标签内在这里插入图片描述3. 输入标签,添加onmouseover属性值为alert(1337),JS解析运行
在这里插入图片描述

Jefff

在这里插入图片描述1. 闭合 ,破坏字符串拼接payload
在这里插入图片描述
在这里插入图片描述

Ugandan Knuckles

  1. 分析代码使用正则表达式 [<>] 来匹配并移除字符串中的 < 和 > 字符
    在这里插入图片描述
  2. 闭合 ” ,使用聚焦 onfocus 执行payload ,添加autoonfocus属性自动聚焦,绕过用户交互
    在这里插入图片描述

Ricardo Milos

在这里插入图片描述

  1. 直接输入 payload 尝试注入
    在这里插入图片描述

Ah That’s Hawt

  1. 分析代码使用正则表达式 /[()]/g来匹配并移除字符串中的( 、` 、) 和 \ 字符
    在这里插入图片描述
  2. 使用
  3. οnerrοr=location=“javascript:alert(1337)”:这是一个 onerror 事件处理程序,它会在图片加载失败时被触发。
    location=“javascript:alert(1337)” 试图在 onerror 事件中执行 JavaScript 代码。
    location 属性被用于执行 javascript: URL 作为一个脚本。
    在这里插入图片描述

Ligma

  1. 分析使用正则表达式 /[A-Za-z0-9]/g 将字符串中的所有字母和数字替换为空字符。
    结果是仅保留非字母和非数字字符的部分。例如,如果 balls 的值是 “alert(‘Hello’)”,在清理后将变成 “‘()’”。
    在这里插入图片描述
  2. 使用JSFuck将payload转码
    在这里插入图片描述
  3. 将转码后的payload转码URL
    在这里插入图片描述
  4. 注入payload

在这里插入图片描述

Mafia

  1. 分析slice(0, 50) 用于截取 mafia 字符串的前 50 个字符。这是为了限制处理的数据长度,防止过长的输入
  2. 使用正则表达式 /['"±!]/gi将字符串中的一些特殊字符(如反引号、单引号、双引号、加号、减号、感叹号、反斜杠、方括号)替换为下划线_
  3. 将 mafia 字符串中的 alert 替换为下划线 _
  4. JSFUCK不能用了
    在这里插入图片描述
  5. 大写绕过检测,toLowerCase()还原
    在这里插入图片描述
  6. 大写绕过检测,toLowerCase()还原,使用匿名函数执行payload
    在这里插入图片描述

Ok, Boomer

在这里插入图片描述

  1. DOMPurify.sanitize() 是一个库函数,用于清理并消除输入中的潜在恶意内容,从而防止 XSS 攻击
    在这里插入图片描述2. 来到 https://cdnjs.com/libraries/dompurify/2.0.7 查看有哪些过滤在这里插入图片描述

在这里插入图片描述

  1. 浏览器会自动将地址补全,所以需要用协议:地址的格式
    在这里插入图片描述3. 可以构造payload
?boomer=<a id=ok href=ftps:alert(1337)>

在这里插入图片描述

WW3

在这里插入图片描述

<div><h4>Meme Code</h4><textarea class="form-control" id="meme-code" rows="4"></textarea><div id="notify"></div>
</div><script>/* Utils */const escape = (dirty) => unescape(dirty).replace(/[<>'"=]/g, '');const memeTemplate = (img, text) => {return (`<style>@import url('https://fonts.googleapis.com/css?family=Oswald:700&display=swap');`+`.meme-card{margin:0 auto;width:300px}.meme-card>img{width:300px}`+`.meme-card>h1{text-align:center;color:#fff;background:black;margin-top:-5px;`+`position:relative;font-family:Oswald,sans-serif;font-weight:700}</style>`+`<div class="meme-card"><img src="${img}"><h1>${text}</h1></div>`)}const memeGen = (that, notify) => {if (text && img) {template = memeTemplate(img, text)if (notify) {html = (`<div class="alert alert-warning" role="alert"><b>Meme</b> created from ${DOMPurify.sanitize(text)}</div>`)}setTimeout(_ => {$('#status').remove()notify ? ($('#notify').html(html)) : ''$('#meme-code').text(template)}, 1000)}}
</script><script>/* Main */let notify = false;let text = new URL(location).searchParams.get('text')let img = new URL(location).searchParams.get('img')if (text && img) {document.write(`<div class="alert alert-primary" role="alert" id="status">`+`<img class="circle" src="${escape(img)}" οnlοad="memeGen(this, notify)">`+`Creating meme... (${DOMPurify.sanitize(text)})</div>`)} else {$('#meme-code').text(memeTemplate('https://i.imgur.com/PdbDexI.jpg', 'When you get that WW3 draft letter'))}
</script>
  1. 分析:
    从 URL 查询参数中获取 text 和 img 的值。
    如果两个参数都存在:
    使用 document.write 创建一个 alert 样式的通知,提示正在生成 Meme,并加载图片。
    图片加载完成后调用 memeGen 函数来生成 Meme 和显示通知。
    如果 text 和 img 参数不存在:
    使用默认图片和文本生成 Meme 模板,并将其显示在 textarea 中。
    escape 函数用于清理输入,去除 URL 编码,并替换掉 <、>、'、" 和 = 等字符
  • payload:
?text=<img%20name%3dnotify><style><style%2F><script>alert(1337)%2F%2F&img=https://so2.360tres.com/sdm/420_207_/t01e5b5a11685455ccc.webp

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库】MySql基本引擎InnoDB、MyISAM、MEMORY、CSV、ARCHIVE(详细说明)

文章目录 如何选择引擎存储引擎的作用修改引擎方式InnoDBMyISAMMEMORYCSVARCHIVE总结 更多相关内容可查看 如何选择引擎 合理选择数据库存储引擎对于系统的性能、数据完整性、维护成本等方面都具有重要影响 高并发的事务性应用&#xff1a;选择 InnoDB。以读操作为主的应用&a…

【python】Python中小巧的异步web框架Sanic快速上手实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

【SQL】连续出现的数字

目录 题目 分析 代码 题目 表&#xff1a;Logs ---------------------- | Column Name | Type | ---------------------- | id | int | | num | varchar | ---------------------- 在 SQL 中&#xff0c;id 是该表的主键。 id 是一个自增列。找出…

Langchain4J从AI Agent开始

前言 AI Agent是智能体的概念&#xff0c;以大模型为核心&#xff0c;集决策能力、记忆能力、工具调用能力为一体的智能体。 langchain框架是python写的&#xff0c;它是一个大语言模型智能框架&#xff0c;Langchain4J是langchain框架对应的java语言编写的。 langchain框架中…

Linux | vim编辑器的使用技巧:自动缩进、补全括号、光标定位、批量注释

文章目录 vim编辑器的使用技巧1、配置自动缩进、自动显示行号、自动补全括号2、光标定位3、批量注释、解除注释批量注释&#xff1a;批量解除注释 vim编辑器的使用技巧 1、配置自动缩进、自动显示行号、自动补全括号 打开vimrc配置文件 vim ~/.vimrc //如果没有编辑权限的&…

140页满分PPT | 一套完整的数字化转型+蓝图路线图规划项目案例

这份PPT文档是一个全面而深入的IT蓝图规划和实施路线图&#xff0c;为某大型制造企业的信息化建设和发展提供了详尽的框架和指导。 1. 业务战略与IT战略对接 在数字化转型过程中&#xff0c;应从企业的业务战略出发&#xff0c;强调了IT战略规划的重要性&#xff0c;指出IT战…

【计算机三级-数据库技术】数据库及数据库对象

数据库及数据库对象 第一节 创建及维护数据库 一、SQL server数据库分类 1&#xff09;系统数据库&#xff08;系统自动创建&#xff09;&#xff1a; master、msdb、tempdb、model、resource 2&#xff09;用户数据库 保存与用户业务有关的数据。 二、SQL server数据库组成…

一建证书哪个专业好?一建各专业含金量排行一览表

2024年一建考试将于9月7日、8日举行&#xff0c;距离现在已经不足五个月&#xff0c;今年一建考试大纲全新修订&#xff0c;教材也随之大改&#xff0c;加之一建考试难度较大&#xff0c;相信考生友友们都已经开启备考了吧&#xff1f; 近期也有小伙伴在跟小佑提问&#xff0c…

Is it possible to modify OpenAI environments?

题意&#xff1a;“是否可以修改 OpenAI 环境&#xff1f;” 问题背景&#xff1a; There are some things that I would like to modify in the OpenAI environments. If we use the Cartpole example then we can edit things that are in the class init function but with…

[数据集][目标检测]agvs仓储机器人检测数据集VOC+YOLO格式967张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;967 标注数量(xml文件个数)&#xff1a;967 标注数量(txt文件个数)&#xff1a;967 标注类别…

想要畅玩《黑神话:悟空》?上赞奇云工作站,仅需3步,直面天命!

全世界畅玩《黑神话&#xff1a;悟空》的时候 一批受害者们也迎来了属于他们的“九九八十一难” 这个时候&#xff0c;天命人才意识到 原来世界上最远的距离&#xff0c;不是天涯海角 而是《黑神话&#xff1a;悟空》就在我面前&#xff0c;旁边的电脑却带不动 作为被广泛视…

超维机器人在工业与能源领域的具身智能探索和应用

具身智能&#xff08;Embodied AI&#xff09;是指机器人能够通过其物理形态与环境的交互&#xff0c;进行感知、学习、决策和执行&#xff0c;从而完成复杂任务的能力。具身智能强调机器人不仅要具备感知环境和分析数据的能力&#xff0c;还要能够通过身体的行为和物理互动来适…

Cesium 视频纹理

Cesium 视频纹理 话不多说&#xff0c;直接上代码 <video id"video_dom"><source src"./video.mp4" type"video/mp4" /></video>var videoElement document.getElementById("video_dom");videoElement.play();vie…

145. 二叉树的后序遍历(递归法)

目录 一&#xff1a;题目&#xff1a; 二&#xff1a;代码&#xff1a; 三&#xff1a;结果&#xff1a; 一&#xff1a;题目&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 二&#xff1a;代码&#xff1a; /*** Definition for a bin…

多进程和多线程基础概念LINUX

进程和程序的区别 程序是静态的&#xff0c;它是保存在磁盘上的指令的有序集合&#xff0c;没有任何执行的概念进程是一个动态的概念&#xff0c;它是程序执行的过程&#xff0c;包括了动态创建、调度和销毁的整个过程 并行&#xff1a;在 cpu 多核的支持下&#xff0c;实现物…

Linux--网络层 IP协议

目录 0.往期文章 1.IP基本概念 2. IP协议报头格式 3.网段划分 两种网段划分的方式 为什么要进行网段划分 4.特殊的IP 地址 5.IP 地址的数量限制 6.私有 IP 地址和公网 IP 地址*** NAT技术 认识公网 运营商扮演的角色 7.路由 8.16位标识&#xff0c;3为标志和13位…

SpringCloud之一注册中心(Eureka)

一、Eureka概述 Eureka是Netflix公司开源的一个服务注册与发现的中间组件。 在微服务架构系统之中&#xff0c;我们经常提三个角色&#xff1a;注册中心 (Register)、服务提供者(Provider)、服务消费者(Consumer)。 1.注册中心&#xff1a;服务提供者可以将服务发布到注册中心…

ClkLog常见问题-埋点集成篇Sec. 1

本篇主要解答ClkLog使用过程中【埋点集成】阶段的常见问题。 1.【指标项数据统计】 问&#xff1a;数据概览无法看到数据。 答&#xff1a;如果数据概览所有指标项都没有数据&#xff0c;则需要先检查埋点数据是否接收成功&#xff1b;如果只是会话相关数据&#xff08;访问次数…

《基于 Spark 的平替药品智能推荐方法》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

大型物流运输无人机技术详解

随着科技的不断进步和电子商务的蓬勃发展&#xff0c;大型物流运输无人机作为未来物流体系的重要组成部分&#xff0c;正逐步从概念走向实际应用。这类无人机以其超大的载重能力、高效的运输效率和广泛的覆盖范围&#xff0c;为解决远距离、大批量货物运输难题提供了创新方案。…