xss-labs靶场全关通关

1、level-1

1、输入,发现会将我们输入的内容显示:

2、若未做任何过滤就进行输出,那我们就可以嵌入js代码,执行js脚本:

 输入:<script>alert('111')</script>

<script></script>:是声明里面是js脚本

alert:触发弹框

 过关

3、代码:

2、level-2

1、同样我们输入<script>alert('111')</script>试试,发现没成功,我们右键看看源码:

所以我们利用就是下面,但是要进行双引号闭合

2、给出payload:

"><script>alert('111')</script><"

这样还是将js代码嵌入html中:

 过关

3、代码分析:

 htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号)成为 &amp;
  • " (双引号)成为 &quot;
  • ' (单引号)成为 '
  • < (小于)成为 &lt;
  • > (大于)成为 &gt;

3、level-3(绕过实体化)

1、输入: <script>alert('111')</script>试试:

发现两处都做了特殊字符转实体,所以我们要绕过这个

2、 我们可以用事件onfocus:

onfocus: onfocus 事件在对象获得焦点时发生。 Onfocus 通常用于 <input>, <select>, 和<a>.(即我们选中这个标签时,就会触发该事件)

这里是嵌入在指定标签中的,此处我们要进行单引号闭合(刚好单引号转为实体也为') ,所以我们的payload为:

' onfoucs=alert('aaa') '

 再点击一下输入框:

过关

3、代码:

 4、level-4

1、输入<script>alert('111')</script>:

2、根据以上特性我们还可以用上面的方法绕过,但这里是双引号闭合:

 " οnfοcus=alert(111) "

 过关

3、代码:

5、level-5

1、代码分析:

 2、我们输入:

">aaaaaaaa

发现可以闭合前面的标签,那我们可以直接嵌入自己的标签

3、输入

"> <a href="javascript:alert('xss');">xss</a>

我们点击a标签的链接就会触发js代码

 点击链接:

过关 

6、level-6(大小写绕过)

1、这里关过滤了很多:

但是这里我们可以通过大小写来绕过

2、payload:

"><ScRipt>alert(111)</Script> 

 过关

7、level-7(双写绕过)

1、输入<script>alert('111')</script>:

2、所以我们可以利用双写绕过:

"><scscriptript>alert('111')</scrscriptipt>

 过关

3、代码:

8、level-8(利用a标签的href会进行自动的unicode解码)

 1、代码分析:

这里过滤了很多,并且由于过滤了双引号所以也不能进行闭合;

2、这里有个知识点,即a标签的href会进行自动的unicode解码,所以我们可硬通过这个进行绕过:在线Unicode编码解码 - 码工具 (matools.com)

javascript:alert()

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;

 输入之后点击链接:

 9、level-9(标签内的注释)

1、分析代码:

 strpos() 函数查找字符串在另一字符串中第一次出现的位置。strpos() 函数对大小写敏感。未找到范围false

2、所以只要我们输入的链接存在http://即可,但是得把他注释掉:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;/* http:// */

 或者用<!-- -->注释:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;<!--http://-->

10、level-10

1、测试过滤了啥:

<>"'script onclick

发现将"<"、">"和双引号进行了实体化

2、看源码发现有隐藏标签:

我们可以测试哪个标签可以被更改为不隐藏:

aa" onfocus=alert(111) type="text">

 

发现第三个可以修改

3、 点击那个框:

4、代码分析:

11、level-11

 1、同样测试一下:

<>"'script onclick

同样实体化了"<"、">"和双引号

2、看源码,发现也存在隐藏标签:

同样参数t_sort可以输入内容,但是也进行了实体化处理;

我们看到t_ref这里是referer所以我们可以通过修改referer进行触发xss漏洞

3、改包:

 将数据包放包到页面上:

4、代码分析:

 12、level-12

1、本关也是隐藏标签:

可以看到将UA拼接上去了,所以我们可以修改UA进行触发xss

2、 测试:

加入payload:

: " οnfοcus=alert(111) type="text">// 

也是修改数据包之后放包即可:
 13、level-13

1、本关也是隐藏标签:

我们抓包:

 

所以Cookie可以控制第四个参数的值,

2、所以,我们抓包修改Cookie:

放包点击即可触发xss:

 14、level-14(ng-include)

网站打不开

15、level-15

1、本关主要考点是ng-include:

注意:1、地址外面得加单引号括起来 

           2、不执行script里面的代码

2、所以我们可以包含一下第一关的文件:

http://192.168.80.128/xss-labs/level15.php?src='./level1.php'

3、由于不执行script里面的代码,所以我们可以用其他方法来触发level1.php中的xss漏洞:

http://192.168.80.128/xss-labs/level15.php?src='./level1.php?name=<img src="x" οnerrοr=alert(1)>' 

 16、level-16(空格过滤)

1、本题源码:

 将黑名单里面的转为实体化的空格

2、所以我们要绕过空格,并且由于"/"被过滤,那么我们必须选择一个不需要闭合的标签,我们可以通过回车符来绕过空格过滤:

<img%0asrc="x"%0aοnerrοr=alert(1)>

其实空格过滤也可采用"/"来绕过:

<img/src="x"/οnerrοr=alert("xss");>

但是,此处"/"也被过滤了

 17、level-17

1、本关发现是利用embed标签:

可以看到是嵌入文件的标签 

2、我们看html代码:

 发现是想引入swf文件,并传入参数

注:我们用谷歌访问:

3、所以我们可以嵌入onmousedown事件来触发xss

http://192.168.80.128/xss-labs/level17.php?arg01=a&arg02=b%20οnmοusedοwn=%27alert(1)%27

点击中间:

 18、level-18

同level-17

 

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

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

相关文章

LaTeX中的\sloppy命令详解及应用实例

诸神缄默不语-个人CSDN博文目录 在使用 LaTeX 排版文档时&#xff0c;有时候我们会遇到一些段落中的文字或 URL 超出页边距的情况&#xff0c;导致文档版式不够美观。在这种情况下&#xff0c;LaTeX 提供了一些命令来处理这些排版问题&#xff0c;其中一个非常实用的命令就是 …

leetcode172. 阶乘后的零,遍历每个因数中5的个数

leetcode172. 阶乘后的零 给定一个整数 n &#xff0c;返回 n! 结果中尾随零的数量。 提示 n! n * (n - 1) * (n - 2) * … * 3 * 2 * 1 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;0 解释&#xff1a;3! 6 &#xff0c;不含尾随 0 示例 2&#xff1a; 输…

代码随想录算法day29 | 动态规划算法part02 | 62.不同路径,63. 不同路径 II

62.不同路径 力扣题目链接(opens new window) 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问…

828华为云征文|使用sysbench对Mysql应用加速测评

文章目录 ❀前言❀测试环境准备❀测试工具选择❀测试工具安装❀mysql配置❀未开启Mysql加速测试❀开启Mysql加速测试❀总结 ❀前言 大家好&#xff0c;我是早九晚十二。 昨天有梳理一篇关于华为云最新推出的云服务器产品Flexus云服务器X。当时有说过&#xff0c;这次的华为云F…

Kubernetes 简介及部署方法

目录 1 Kubernetes 简介及原理 1.1 应用部署方式演变 1.2 容器编排应用 1.3 kubernetes 简介 1.4 K8S的设计架构 1.5 K8S 各组件之间的调用关系 1.6 K8S 的 常用名词感念 1.7 k8S的分层架构 2 K8S 集群环境搭建 2.1 k8s 中容器的管理方式 2.2 k8s中使用的几种管理容器的介绍 3 …

JavaScript 中,File、Blob、Base64 和 ArrayBuffer 不同的用途和转换方法。

JavaScript 中&#xff0c;File、Blob、Base64 和 ArrayBuffer 不同的用途和转换方法。 图示&#xff1a; 文章目录 Blob:File:Base64:Buffer:ArrayBuffer:常用转换函数base64ToFiledataURLtoBlobbinaryToDataURL导出 csv导出文件常用 office 文件对应的 MIME TYPE 和后缀 Bl…

万维网服务器工作

万维网服务器&#xff08;WWW服务器&#xff09;的工作方式主要基于客户机/服务器&#xff08;Client/Server&#xff09;模式&#xff0c;通过HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;等协议与客户端&#xff08;如网页浏览器&…

U盘不小心格式化了怎么恢复?别慌!教你快速恢复

在日常工作和生活中&#xff0c;U盘已成为我们存储和传输数据的重要工具。然而&#xff0c;有时由于误操作或其他原因&#xff0c;我们可能会不小心格式化U盘&#xff0c;导致重要数据的丢失。这时&#xff0c;如何恢复这些数据就显得尤为重要。下面&#xff0c;我们将介绍几种…

黑神话悟空·幽魂怎么打?超爽攻略!

在正式打法之前&#xff0c;这里推荐一款巨好用的开放式耳机&#xff0c;能够让我们的游戏更加的畅快&#xff01; 有条件的也建议使用南卡OE MIX这款开放式耳机&#xff0c;也非常适合在游戏时使用&#xff0c;不入耳的设计避免了长时间游戏佩戴可能带来的耳道不适和耳朵胀痛…

二进制方式安装K8S

⼀、安装说明 本⽂章将演示Rocky 8 ⼆进制⽅式安装⾼可⽤k8s 1.28.0版本。 ⽣产环境中&#xff0c;建议使⽤⼩版本⼤于5的Kubernetes版本&#xff0c;⽐如1.19.5 以后的才可⽤于⽣产环境。 ⼆、集群安装 2.1 基本环境配置 请统⼀替换这些⽹段&#xff0c;Pod⽹段和service和…

Azure AI Search 中的二进制量化:优化存储和加快搜索速度

随着组织继续利用生成式 AI 的强大功能来构建检索增强生成 (RAG) 应用程序和代理&#xff0c;对高效、高性能和可扩展解决方案的需求从未如此强烈。 今天&#xff0c;我们很高兴推出二进制量化&#xff0c;这项新功能可将向量大小减少高达 96%&#xff0c;同时将搜索延迟减少高…

Echarts 绘制地图省、市、区、县(以及点击显示下级,支持坐标定位)

** Echarts 绘制地图省、市、区、县&#xff08;以及点击显示下级&#xff0c;支持坐标定位&#xff09; ** 上代码 <template><div class"mapCont"><div id"mapSelf" contextmenu.prevent"disableContextMenu"></div&g…

Git学习尚硅谷(002 git常用命令)

尚硅谷Git入门到精通全套教程&#xff08;涵盖GitHub\Gitee码云\GitLab&#xff09; 总时长 4:52:00 共45P 此文章包含第8p-第p15的内容 文章目录 git常用命令设置用户签名初始化本地库查看本地库状态添加暂存区提交本地库日志查看修改文件版本穿梭 git常用命令 设置用户签名…

数据结构:(LeetCode 965)相同的树

给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&#xff1a;true示例 2&…

开发手札:关于项目管理中开发工作安排的问题

最近工作越来越偏向管理方向了&#xff08;兼吗喽&#xff09;&#xff0c;所以仔细思考了一下给开发工作安排的问题。 结合自己开发过程中的体会&#xff0c;我觉得在构建完成用户需求文档的同时。 再站在开发的角度&#xff0c;构建一份详细的模块构架设计图就更…

STM32 HAL CAN (TJA1050CAN模块) 通讯(一)理论

1、简介 CAN具备多个设备交互的能力,但是网上大多是两个单片机进行交互,或者单片机通过CAN收发器与上位机进行交互测试,本次通过STM32cubeMX完成CAN通讯配置,并通过多个单片机进行数据交互测试。 2、CAN简介 CAN是一种串行通讯协议,主要有低速、高速CAN两种。 低速CAN…

亚马逊测评深度解析:如何安全高效提升产品销量和好评

在亚马逊这一全球电商巨擘的舞台上&#xff0c;产品测评不仅是消费者决策的重要依据&#xff0c;更是商家提升产品曝光、促进销售转化的核心驱动力。然而&#xff0c;随着平台监管力度的加强和市场竞争的日益激烈&#xff0c;如何在遵守规则的前提下&#xff0c;安全有效地进行…

相亲交友小程序开发功能分析

相亲交友小程序的开发功能分析可以从用户端和管理后台两个主要方面来进行。 用户端功能 注册与登录&#xff1a; 用户可以通过手机号、微信号或其他第三方平台进行注册登录&#xff0c;简化注册流程。 实名认证&#xff1a; 引入实名认证机制&#xff0c;确保用户信息的真实…

上传本地项目到git上面

文章目录 1.服务器创建一个空项目1.1.创建项目1.2.界面可能不一样 2.上传新项目到git上面2.1.将远程项目拉取到本地进行上传1. 将项目克隆到本地&#xff1a;&#xff08;为了建立本地仓库和远程仓库关系方便推送&#xff09;2. 建立本地仓库和远程仓库关系并推送&#xff08;如…

基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 卷积神经网络&#xff08;CNN&#xff09; 4.2 长短期记忆网络&#xff08;LSTM&#xff09; 4.3 BO-CNN-LSTM 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) B…