XSS LABS - Level 16 过关思路

news2024/11/22 11:10:38

关注这个靶场的其他相关笔记:XSS - LABS —— 靶场笔记合集-CSDN博客

0x01:过关流程

进入靶场,右击页面,查看网页源码,搜索关键词 test 查看页面回显点:

页面只有一个回显点,跟前面关卡不同,回显点没有以属性的形式出现在标签内部,而是出现在了标签外部,像这种位置,想要触发 XSS 攻击,似乎只能依靠构造新的标签来触发了(最好的情况就是 <script> 标签未被过滤)。

不清楚目标后端是否做了过滤,就整个 Payload 大杂烩,看看目标后端都过滤了哪些内容:

 <sCrIpt>alert(1)</sCrIpt><a hRef="javaScript:alert(1)" onmouseover="alert(2)" onOnmouseover="alert(3)">test</a>

下面梳理一下目标后端的过滤规则:

PayloadEcho Print
<<
>>
script&nbsp;,且忽略大小写
空格&nbsp;
""

看来目标主要就是把标签之间的空格替换为了 &nbsp; ,并没有拦着我们构造标签,说到底,就是要绕过空格。首先传入一个基础的 Payload 看看效果:

 <input type="text" onmouseover="alert(1)">

那么我们下面就是去找,什么符号能够替代空格,来让标签依旧生效。而这个符号嘞,不一定是可见的。

测试方法也很简单,但是需要用到 BurpSuite(这款工具,在安全圈里非常出名,可以说是人手一个,教程我后续也会出哦,这里直接讲用法)。

首先,打开 BurpSuite,并打开 BurpSuite 中自带的浏览器:

使用 BurpSuite 自带的浏览器访问 XSS LABS Level 16 靶场,找到请求包,并发送到请求包模块:

 http://127.0.0.1/xss-labs/level16.php?keyword=%3Cinput+type=%22text%22+onmouseover=%22alert(1)%22%3E

下面定位到 Intruder 模块,并且修改请求包的内容,我们要把 + 号变成 %xx 的形式:

然后进入 Payload 中,按照如下格式进行配置,并开始攻击:

这个时候 BurpSuite 会弹出一个框框,告诉你攻击的结果,我们可以查看每个攻击返回的内容,找到能成功显示 input 标签的即可,如下图:

这种能替换空格的标签还不少,作者这里根据本次攻击结果列举一下(有心者可以做成字典哦):

 能成功显示的:%0a、%0c、%0d
 不太稳定的:%3e

那么本关的过关 Payload 如下:

 <input%0atype="text"%0aonmouseover="alert(1)">

0x02:源码分析

下面是 XSS LABS Level 16 的后端源码,以及我对其的部分笔记:

 <!DOCTYPE html><!--STATUS OK-->
 <html>
 ​
 <head>
     <meta http-equiv="content-type" content="text/html;charset=utf-8">
     <script>
         // 修改 alert 默认行为,进入下一关
         window.alert = function() {
             confirm("完成的不错!");
             window.location.href = "level17.php?arg01=a&arg02=b";
         }
     </script>
     <title>欢迎来到level16</title>
 </head>
 ​
 <body>
     <h1 align=center>欢迎来到level16</h1>
     <?php
     ini_set("display_errors", 0);
     $str = strtolower($_GET["keyword"]);    // 接收通过 GET 方式传入的 keyword
     $str2 = str_replace("script", "&nbsp;", $str);  // 将 script 替换为 &nbsp;
     // 下面都是一些常见的过滤形式,没啥。
     $str3 = str_replace(" ", "&nbsp;", $str2);
     $str4 = str_replace("/", "&nbsp;", $str3);
     $str5 = str_replace("   ", "&nbsp;", $str4);
     echo "<center>" . $str5 . "</center>"; // 忽略了,有一些不可显示的字符也可以用作空格,进行绕过
     ?>
     <center><img src=level16.png></center>
     <?php
     echo "<h3 align=center>payload的长度:" . strlen($str5) . "</h3>";
     ?>
 </body>
 ​
 </html>

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

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

相关文章

Python实时聊天室架构与API实战应用

尊敬的各位读者&#xff0c;欢迎参与本次共享研讨项目——利用Python构建实时聊天室。在本项目中&#xff0c;我们将引进一款前沿工具——发布订阅频道API&#xff0c;以实现聊天室内的实时交互功能。 在当今信息泛滥的社会环境下&#xff0c;实时交流已成为人们日常生活中不可…

探秘半枝莲:花语寓意深解、传奇传说追溯与卓越功效展现

在大自然的神秘宝藏中&#xff0c;有一种看似平凡却蕴含着无尽魅力的植物——半枝莲。它那娇小而鲜艳的花朵&#xff0c;仿佛是大自然精心雕琢的艺术品&#xff0c;散发着独特的魅力。当我们深入探寻半枝莲的世界时&#xff0c;会惊喜地发现它不仅有着迷人的花语寓意和传奇的传…

ES 根据条件删除文档

随着业务量的增多&#xff0c;es中数据越来越多&#xff0c;但有些数据其实后期并无业务用途&#xff0c;可直接做物理删除&#xff0c;程序里做兼容&#xff0c;但历史每个月的索引里的数据需要处理这部分冗余数据。 es提供_delete_by_query 根据查询条件进行删除的操作&…

ZooKeeper 实战(六) - 分布式ID实现方案

ZooKeeper 实战(六) - 生成分布式ID 文章目录 ZooKeeper 实战(六) - 生成分布式ID1.何为分布式ID2.分布式ID方案3.创建ZooKeeper节点4.获取序列ID5.处理序列ID6.使用分布式ID7.完整代码8.功能优化8.1.问题思考&#xff1f;1.容量问题2.并发问题3.内存问题 8.2.解决并发问题8.3.…

[Algorithm][综合训练][合唱团][跳台阶扩展问题][矩阵最长递增路径]详细讲解

目录 1.合唱团1.题目链接2.算法原理详解 && 代码实现 2.跳台阶扩展问题1.题目链接2.算法原理详解 && 代码实现 3.矩阵最长递增路径1.题目链接2.算法原理详解 && 代码实现 1.合唱团 1.题目链接 合唱团 2.算法原理详解 && 代码实现 解法&#…

爆火的《黑神话:悟空》对LabVIEW软件开发的启示

近期&#xff0c;《黑神话&#xff1a;悟空》在全球范围内爆火&#xff0c;引发了游戏行业和玩家群体的广泛关注。作为一款由中国开发团队Game Science历时多年打造的动作角色扮演游戏&#xff0c;它的成功不仅源于卓越的技术创新和对中国传统文化的深度挖掘&#xff0c;更在于…

本地部署Xinference实现智能体推理工作流(一)

提示&#xff1a;没有安装Docker的需要先提前安装好Docker 第一篇章 使用AutoDL平台快速部署xinference 备注&#xff1a;若使用AutoDL平台&#xff0c;以下过程使用无卡模型开机即可(省钱) 1. 下载Dify源码 Github下载Dify:https://github.com/langgenius/dify 2. 快速启动…

HTML粒子爱心

目录 写在前面 完整代码 代码分析 系列文章 写在最后 写在前面 教你用HTML语言实现粒子爱心动画的效果。 HTML&#xff0c;全称为HyperText Markup Language&#xff0c;即超文本标记语言&#xff0c;是构建网页的基本markup语言&#xff0c;它通过一系列标签tags来定义…

CMake Error at CMakeLists.txt (find_package)幕后真凶

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生~ 个人主页&#xff1a; rainInSunny | 个人专栏&#xff1a; C那些事儿、 Learn OpenGL In Qt 文章目录 写在前面find_package报错解决Module模式Config模式 find_package()用法Module模式Config模式 写在前面 本文从CMake中find_packag…

AI无损放大工具 AI lossless zoomer 3.1.0.0

这款工具是作者基于腾讯开源免费的AI算法而开发的&#xff0c;腾讯开源算法地址&#xff1a;GitHub.com/xinntao/Real-ESRGAN 打开软件的主页面是黑色为主调的界面。把需要无损放大的图片直接拖入到软件中&#xff0c;再点【开始任务】&#xff0c;软件就会自动处理图片&#…

【论文阅读|cryoET】本周粗读汇总

论文1&#xff1a;CryoDRGN-ET&#xff1a;深度重建生成网络以可视化细胞内动态生物分子 Abstract 虽然冷冻电子断层扫描可以以分子分辨率揭示结构&#xff0c;但图像处理算法仍然是解决原位生物分子结构异质性的瓶颈。本文介绍CryoDRGN-ET用于cryoET断层图的异质重建。CryoD…

大厂产品经理面试:阿里、字节、百度、腾讯、拼多多等全国顶级大厂面试题一网打尽!

在互联网行业蓬勃发展的今天&#xff0c;产品经理作为连接技术、设计和市场的核心角色&#xff0c;其重要性日益凸显。想要进入国内顶尖的互联网大厂&#xff0c;如阿里巴巴、字节跳动、百度、腾讯、拼多多等&#xff0c;产品经理岗位的面试无疑是一场硬仗。本文将为你揭秘这些…

stm32定时器同步(二)

本文介绍使用一个定时器使能另一个定时器。 旧瓶装新酒&#xff0c;就是门控模式加一个TRGO&#xff0c;如果看到这里你还没有明白&#xff0c;那就去看看我前面的文章 代码部分也是旧瓶装新酒 void Timer3_Config(void) {TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM…

皮皮虾保存视频怎么去除水印?教你3种技巧轻松去除水印

在如今这个信息爆炸的时代&#xff0c;我们经常会在网络上看到一些有趣的皮皮虾视频&#xff0c;想要保存下来&#xff0c;却发现视频带有水印。水印虽然可以保护视频的版权&#xff0c;但有时也会影响我们的观看体验。如何去除视频中的水印呢&#xff1f;本文将为您介绍三种实…

日期转换异常

报错 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: java.lang.NumberFormatException: For input string: "2024-07-01" Cause: java.lang.NumberFormatE…

Windows TCP/IP IPv6 DDos远程蓝屏复现及修复(CVE-2024-38063)

【前言】   最近&#xff0c;windows爆出重量级漏洞CVE-2024-38063)&#xff0c;攻击者通过不断发送ipv6数据包&#xff0c;可实现远程DDOS导致目标windows直接蓝屏&#xff0c;或RCE。   下面就直接开展下&#xff0c;如何复现的&#xff0c;以及怎么修复。 一、漏洞分析 …

如何从官方 Yum 仓库安装 MySQL 5.6

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 介绍 2013年10月&#xff0c;MySQL开发团队正式推出了对yum存储库的支持。这意味着您现在可以确保直接从源安装最新和最好的MySQL版本&a…

论文阅读:SimVP: Simpler yet Better Video Prediction

论文地址&#xff1a;arxiv 摘要 作者认为&#xff0c;现有的CNN&#xff0c;RNN&#xff0c;Transformer 之类的视频预测领域的模型都过于复杂了&#xff0c;作者想要找到一个简单的方式&#xff0c;同时可以达到与之相当的效果。 作者提出了 SimVP&#xff0c;这是一个简单…

Linux工具使用

Linux编辑器-vim使用 1.vim的基本概念 在vim中&#xff0c;主要的三种模式分别是命令模式&#xff0c;插入模式和底行模式。 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动&#xff0c;字符、字或行的删除&#xff0c;移动复制某区段及进入Insert mode下&#xff0c;…

【软件工程】软件生命周期(生存周期)

考点3 软件生命周期&#xff08;生存周期&#xff09; 一、定义 软件产品或软件系统从设计、投入使用到被淘汰的全过程。 二、3周期 题目 一、判断题 二、选择题