当前位置: 首页 > news >正文

xss靶场详解

目录

1.第一题

2.第二题

3.第三题

4.第四题

5.第五题

6.第六题

7.第七题

8.第八题


1.第一题

在源码script标签里边,innerhtml是用于访问或修改 HTML 元素内的 HTML 内容的,这里是访问spaghet这个元素的,并通过括号里面的东西搜索当前页面有没有somebody这个参数,有的话使用get传参的方式给somebody传一个值,然后+Toucha Ma Spaghet!,如果没有传值,默认传Somebody+Toucha Ma Spaghet!,然后赋值给spaghet,放在h2标签中,显示出来。

因为他利用innerHTML直接更新somebody参数,所以我们可以利用

?somebody=<svg%20οnlοad=alert(1337)>在svg加载完成以后执行我们的xss代码

2.第二题

在这里面我们get传入jeff的值给jeff,然后ma是空,eval执行ma=ma name 传的值,然后settimeout延时1秒把ma赋值给manme.

        因为这次使用的是innertext,他会把我们的标签整个识别成一个字符串输出就不能用一开始的

我们可以把eval进行闭合

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

带入就会是这样,前后引号都闭合了,eval就执行alert

`ma = "Ma name aaa";alert(1337);"" `

3.第三题

 replace是用来移除wey 中的所有 < 和 > 字符。

  • /[<>]/g 是一个正则表达式,匹配 < 或 > 字符。
  • g 是一个全局标志,表示将会在整个字符串中查找所有匹配的字符,而不仅仅是找到第一个匹配后就停止。

这里因为过滤了<>,我们不能用先前的方式了,所以我们使用onclick进行聚焦,只要用户点击输入框就会触发

同样的还有onfocus也是需要用户进行点击

        为了不让用户交互也可以完成,我们可以用autofocus和onfocus一起,autofocus把焦点放在输入框上,onfocus把焦点事件进行触发,单独使用autofocus不会触发焦点事件,并且autofocus不包含代码。

        所以要用?wey=aaa"%20οnfοcus="alert(1)"%20autofocus="

4.第四题

因为这里面有用action进行提交,并且没有过滤,在提交的时候可以触发我们传入的xss代码,同样在<a>标签里面我们也可以把href写入<a href="javascript:alert('Hello!')">,这样用户点击链接就会触发

?ricardo=Javascript:alert(1337)

5.第五题

因为括号等东西被过滤了,我们就要考虑绕过,尝试用编码绕过

把(1337)先用html实体编码再用url进行编码

成功绕过

?markassbrownlee=<svg%20οnlοad="alert%26%23x0028%3B%26%23x0031%3B%26%23x0033%3B%26%23x0033%3B%26%23x0037%3B%26%23x0029%3B">

6.第六题

这里过滤掉了字母数字,我们就只能借助一些别的工具和别的编码

https://jsfuck.com/

这个网站会把我们的输入编码为[] ! +组合

但是+好会被解析为空格,所以还要进行url编码

7.第七题

这里可以直接用

?mafia=confirm(1337)

但是真正的考点不是这个

我们可以通过

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

绕过

    /ALERT(1337)/ 是一个正则表达式,用于匹配字符串 "ALERT(1337)"

    .source 属性返回正则表达式的源码部分,不包括前后的斜杠,即 "ALERT(1337)"

    toLowerCase() 方法将字符串中的所有字母转换为小写。

因此,/ALERT(1337)/.source.toLowerCase() 返回  alert(1337)

Function 是一个构造函数,用于动态创建一个新的函数。

Function("alert(1337)") 会创建一个函数

最后,() 用于立即调用刚刚创建的函数。

8.第八题

这里面有DOMPurify框架,很难绕过

但是setTimeout函数内的ok参数没有任何ok定义,所以我们可以使用DOM破坏

  

由于前端的一些特性,当boomer=<a id=ok href=tel:alert(1337)>时,settimeout(ok,2000)会获取到<a>标签的href内容,并执行,所以我们可以利用这个来进行绕过,但是如果是JavaScript:alert(1)的话,会被DOMPurify框架进行过滤,我们可以在他的文件找到白名单,然后利用白名单执行我们的alert(1337)

相关文章:

xss靶场详解

目录 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 6.第六题 7.第七题 8.第八题 1.第一题 在源码script标签里边&#xff0c;innerhtml是用于访问或修改 HTML 元素内的 HTML 内容的&#xff0c;这里是访问spaghet这个元素的&#xff0c;并通过括号里面的东西搜索当前…...

华为的流程管理

华为建设流程体系始于2000年&#xff0c;那时华为公司面临着快速扩张和全球化发展的挑战&#xff0c;意识到传统的管理模式已经无法满足业务发展的需求。为了提高公司的管理效率和竞争优势&#xff0c;华为决定启动流程体系的建设。在建设过程中&#xff0c;华为借鉴了业界最佳…...

操作系统Linux

1.Linux命令 ls&#xff1a;查看当前目录下所有目录和文件ps&#xff1a;查看所有正在运行的进程top&#xff1a;显示当前系统中占用资源最多的一些进程&#xff0c;shiftm按照内存查看大小netstat&#xff1a;查看端口的命令vi&#xff1a;查看文件的命令rm&#xff1a;删除文…...

1、.Net UI框架:MAUI - .Net宣传系列文章

.NET MAUI(Multi-platform App UI)是一个跨平台的UI框架&#xff0c;它是.NET统一应用模型的一部分&#xff0c;允许开发者使用C#和.NET来创建适用于iOS、Android、macOS和Windows的应用程序。MAUI继承了Xamarin.Forms的一些概念&#xff0c;但提供了更多的原生平台集成和改进的…...

Spring boot 使用 jSerialComm 对串口使用发送信息并接收

什么是 jSerialComm&#xff1f; jSerialComm 是一个 Java 库&#xff0c;旨在提供一种独立于平台的方式来访问标准串行端口&#xff0c;而无需外部库、本机代码或任何其他工具。它旨在替代 RxTx 和&#xff08;已弃用的&#xff09;Java Communications API&#xff0c;具有更…...

江协科技STM32学习笔记(第10章 SPI通信)

第10章 SPI通信 10.1 SPI通信协议 10.1.1 SPI通信 SPI&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司开发的一种通用数据总线&#xff1b; 串行外设接口&#xff1b; I2C无论是软件还是软件电路&#xff0c;设计的都还是比较复杂的&#xff0c;硬件…...

力扣热题100_回溯_22_括号生成

文章目录 题目链接解题思路解题代码 题目链接 22. 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())”,“(())()…...

【k8s】ubuntu24.04 containerd 手动从1.7.15 换为1.7.20

24.04的这个应该是apt 安装的1.7.20-1 root@k8s-master-pfsrv:~# sudo apt update && sudo apt install containerd.io -y 命中:1 http://mirrors.aliyun.com/docker-ce/linux/ubuntu noble InRelease 命中:2 https://dl.google.com/linux/chrome/deb stable InRelease…...

Java二十三种设计模式-备忘录模式(19/23)

本文深入探讨了备忘录模式&#xff0c;从定义、组成、实现到使用场景、优缺点、与其他模式的比较&#xff0c;以及最佳实践和替代方案&#xff0c;全面解析了如何在软件开发中有效地保存和恢复对象状态&#xff0c;以支持复杂的撤销操作和历史状态管理。 备忘录模式&#xff1a…...

js一些杂乱理解

js 的值类型和引用类型 引用类型:object,array,function值类型:诸如number,stringboolean,null,Undefined,Symbol js使用变量访问对象属性示例 var myDog "Hunter"; var dogs { Fido: "Mutt", Hunter: "Doberman", Snoopie: "Beagle&q…...

机器学习 之 线性回归算法

目录 线性回归&#xff1a;理解与应用 什么是线性回归&#xff1f; 一元线性回归 正态分布的重要性 多元线性回归 实例讲解 数据准备 数据分析 构建模型 训练模型 验证模型 应用模型 代码实现 线性回归&#xff1a;理解与应用 线性回归是一种广泛使用的统计方法&…...

ThreadLoad如何防止内存溢出

优质博文&#xff1a;IT-BLOG-CN 从 ThreadLocalMap看 ThreadLocal使用不当的内存泄漏问题 【1】基础概念 &#xff1a; 首先我们先看看ThreadLocalMap的类图&#xff0c;我们知道 ThreadLocal只是一个工具类&#xff0c;他为用户提供get、set、remove接口操作实际存放本地变…...

2024.8.19 学习记录 —— 作业

一、TCP机械臂测试 #include <myhead.h>#define SER_PORT 8888 // 与服务器保持一致 #define SER_IP "192.168.0.114" // 服务器ip地址int main(int argc, const char *argv[]) {// 创建文件描述符打开键盘文件int fd open("/dev/input/event1…...

Java 阿里云视频直播开发流程

首先来看一下直播效果 推流工具有很多种&#xff08;例如OBS、阿里云直播Demo推流、等等&#xff0c;我用的是芯象导播&#xff09;阿里播放器地址 一、直播基础服务概述 官方文档说明 二、直播域名配置需要两个域名&#xff08;推流域名、播流域名&#xff09; 官方文档说…...

SQLite 轻量级的嵌入式关系型数据库的替代软件

SQLite 是一个轻量级的嵌入式关系型数据库&#xff0c;由于其简单易用和跨平台的特性&#xff0c;被广泛应用于各种应用程序中。以下是一些可作为SQLite替代品的数据库软件或可视化管理工具&#xff1a; 1. **SQLiteStudio**&#xff1a;这是一个免费、开源的跨平台SQLite数据…...

Flutter-自适用高度PageView

需求 在 Flutter 中&#xff0c;PageView 是一个非常常用的组件&#xff0c;能够实现多个页面的滑动切换。然而&#xff0c;默认的 PageView 高度是固定的&#xff0c;这在展示不同高度的页面时&#xff0c;可能会导致不必要的空白或内容裁剪问题。为了使 PageView 能够根据每…...

群晖NAS本地搭建可远程交互的大型语言模型LLM聊天机器人

文章目录 前言1. 拉取相关的Docker镜像2. 运行Ollama 镜像3. 运行Chatbot Ollama镜像4. 本地访问5. 群晖安装Cpolar6. 配置公网地址7. 公网访问8. 固定公网地址 前言 本文主要分享如何在群晖NAS本地部署并运行一个基于大语言模型Llama 2的个人本地聊天机器人并结合内网穿透工具…...

TypeScript 构建工具之 webpack

在实际开发中&#xff0c;直接使用TypeScript 编译器的情况不多。 在项目中&#xff0c;需要使用构建工具对代码进行打包&#xff0c;不可能脱离项目使用TypeScript 编译器单独打包TypeScript 。 那如何将 webpack 和 TypeScript 进行集成&#xff1f; 参考文档&#xff1a; w…...

conda环境下在pycharm中调试scrapy项目

前提条件 已经创建好了conda环境已经安装好了scrapy框架项目初始化完成 编写一个爬虫脚本 import scrapyclass StackOverflowSpider(scrapy.Spider):name stackoverflowstart_urls [http://stackoverflow.com/questions?sortvotes]def parse(self, response):print("…...

contenteditable=“true“的标签限制字数的时候修改光标位置

contenteditable"true"的标签限制字数的时候修改光标位置 有时候input和textarea并不能完全满足ui需求&#xff0c;这个时候我们就用contenteditable"true"来将别的标签修改为可编辑状态&#xff0c;但当我们通过js修改了内容之后光标的位置就是一个问题&…...

枚举进阶:从常量集合到业务逻辑承载者的实战扩展技巧

1. 项目概述&#xff1a;从“能用”到“好用”的枚举进阶之路在软件开发中&#xff0c;枚举&#xff08;Enum&#xff09;是我们再熟悉不过的基础工具了。它把一组有限的、具名的常量组织在一起&#xff0c;让代码意图更清晰&#xff0c;避免“魔法数字”满天飞。但不知道你有没…...

鸿蒙ArkUI视频播放器开发实战:从AVPlayer到自定义控制与性能优化

1. 项目概述&#xff1a;为什么要在鸿蒙上做视频播放器&#xff1f;最近在捣鼓鸿蒙应用开发&#xff0c;发现社区里关于多媒体处理&#xff0c;特别是视频播放的深度分享还不多。很多开发者拿到Video组件&#xff0c;照着官方Demo跑起来一个播放界面就觉得完事了。但真要把一个…...

FactoryIO虚拟仓储避坑指南:从入仓出仓到急停处理的完整调试流程

FactoryIO虚拟仓储避坑实战&#xff1a;从坐标校准到多任务管理的深度调试手册 当第一次在FactoryIO中搭建虚拟仓储系统时&#xff0c;我盯着屏幕上那个69的货架模型&#xff0c;满心以为两小时就能搞定入仓出仓逻辑。直到凌晨三点&#xff0c;我还在和那个永远差0.006的坐标值…...

别再只盯着ADC了!74HC4067的另类玩法:DIY一个简易多路信号切换器与逻辑分析仪探头

74HC4067的创意实践&#xff1a;打造多功能信号切换与逻辑分析工具 在电子设计与调试过程中&#xff0c;多路信号切换和逻辑分析是两项基础但至关重要的任务。传统解决方案往往需要昂贵的专业设备&#xff0c;而本文将展示如何利用常见的74HC4067芯片&#xff0c;配合开源硬件和…...

5分钟快速上手Vue FastAPI Admin:现代化前后端分离管理平台完整指南

5分钟快速上手Vue FastAPI Admin&#xff1a;现代化前后端分离管理平台完整指南 【免费下载链接】vue-fastapi-admin ⭐️ 基于 FastAPIVue3Naive UI 的现代化轻量管理平台 A modern and lightweight management platform based on FastAPI, Vue3, and Naive UI. 项目地址: h…...

【免费下载】 MATLAB 3D 极坐标绘图示例:天线三维方向图【matlab下载】

MATLAB 3D 极坐标绘图示例&#xff1a;天线三维方向图 项目介绍 在科学计算和工程设计领域&#xff0c;MATLAB一直是数据可视化和仿真的强大工具。然而&#xff0c;当涉及到在三维空间中使用极坐标系统进行绘图时&#xff0c;MATLAB的标准绘图函数如surf和mesh就显得力不从心。…...

magic-api Swagger文档自动生成:让API文档维护变得简单

magic-api Swagger文档自动生成&#xff1a;让API文档维护变得简单 【免费下载链接】magic-api magic-api 是一个接口快速开发框架&#xff0c;通过Web页面编写脚本以及配置&#xff0c;自动映射为HTTP接口&#xff0c;无需定义Controller、Service、Dao、Mapper、XML、VO等Jav…...

【免费下载】 探索地理信息的无限可能:MATLAB Mapping Toolbox 自由之旅【matlab下载】

探索地理信息的无限可能&#xff1a;MATLAB Mapping Toolbox 自由之旅 在数字化时代的浪潮中&#xff0c;地理信息系统&#xff08;GIS&#xff09;已成为连接现实世界与数字世界的桥梁。今天&#xff0c;我们特别向您推荐一个开源宝藏——MATLAB Mapping Toolbox R2019b提取版…...

如何快速掌握JASP统计分析软件:3个高效使用技巧完整指南

如何快速掌握JASP统计分析软件&#xff1a;3个高效使用技巧完整指南 【免费下载链接】jasp-desktop JASP aims to be a complete statistical package for both Bayesian and Frequentist statistical methods, that is easy to use and familiar to users of SPSS 项目地址:…...

React Fiber vs Vue 响应式:从调用栈到依赖图,前端两大架构的底层对决

写在前面 前端框架之争吵了快十年。但坦白说&#xff0c;大多数争论卡在"React 好用还是 Vue 好用"的层面&#xff0c;很少有人真正追问&#xff1a;这两个框架为什么从根上就是两套东西&#xff1f; 它们的差异不是 API 设计喜好不同&#xff0c;而是对"UI 的…...