热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

渗透学习靶场篇XSSlabs(持续更新中)

文章目录前言一、XSS-labs下载与安装二、靶场攻略level1level2level3level4level5level6level7level8level9level10前言


文章目录

  • 前言
  • 一、XSS-labs下载与安装
  • 二、靶场攻略
    • level 1
    • level 2
    • level 3
    • level 4
    • level 5
    • level 6
    • level 7
    • level 8
    • level 9
    • level 10




前言

在进行学习玩XSS的大部分基础知识后,以及初步完成一些简单的XSS测试后。接下里让我们开始对xss-labs进行攻略吧!! 不过需要注意的是,对于xss-labs我们只需大致了解一些思路即可,因为实战中,一般很少有这种弯弯绕绕的地方,不过可能在CTF中倒是会比较常见。




一、XSS-labs下载与安装

使用集成环境phpstudy。

xss-labs下载

下载后,直接解压到网站的根目录下就可以直接运行了!
在这里插入图片描述


二、靶场攻略


level 1

打开页面后,出现如下图,我们可以仔细观察到在url处有个参数name 以及 下面的payload长度4 刚刚好符合test的长度,因此,我们可以大致判断这里就可以进行xss的注入。
在这里插入图片描述

然后,我们在参数name下输入payload:

<script>alert(1)</script>

在这里插入图片描述

完成&#xff01; 注意蛤&#xff0c;这里之所以不会弹出1 是因为xss-labs进行了检测&#xff0c;当我们能够正确注入时&#xff0c;xss-labs就会将弹出的内容进行替换&#xff01;


level 2

这里&#xff0c;我们按照上述思路直接输入xss代码的话&#xff0c;是无法进行执行的。然后&#xff0c;我们来查看以下页面的布局&#xff0c;看看是否有其他的思路可以进行绕过&#xff1a;

在这里插入图片描述

由箭头&#xff0c;我们可以看出对应的关系&#xff01;&#xff01;&#xff01; 这里&#xff0c;我们在输入框输入的xss语句虽然没被执行&#xff0c;但是其还是被带入到了value中的

因此&#xff0c;我们可以试想一下&#xff0c;这里既然已经嵌入在value&#61; “ … ” 之中了&#xff0c;那我们是否可以利用闭合以及onclick属性进行点击执行呢&#xff1f;让我们动手试试看&#xff1a;

"onclick&#61;&#39;alert(1)&#39;>

在这里插入图片描述

通过查看页面布局&#xff0c;我们发现这里确实是已经构造完成了&#xff01; 但是由于onclick属性的问题&#xff0c;我们需要在这里点击一下输入框&#xff0c;才能够触发这个漏洞&#xff1a;
在这里插入图片描述

完成&#xff0c;进入第三关&#xff01;


level 3

在这里插入图片描述

我们仔细看一下&#xff0c;图中数据填入的地方。我们可以发现有两个问题&#xff1a;1、我们输入的> <这两个符号都会被进行实体化&#xff1b;2、这里闭合回路的符号多出来了一个 "

然后&#xff0c;让我们在看一下第三关的源代码&#xff1a;
在这里插入图片描述

使用了htmlspeialchars 函数将特殊字符转化为html实体。

除此之外&#xff0c;发现这里确实利用了 ’ &#39;来进行闭合回路&#xff0c;且对于输入的字符中又进行拼接了" " 。所以说我们那边闭合时才会多出一些符号。 那么要如何进行绕过呢&#xff1f;

这里我们需要清楚一点的是&#xff0c;在源代码中value的范围应该是 ’ … ’ 这之间的 &#xff0c; 这里由于" " 将会和输入的字符串一起作为value值的一部分。我们想要构造起能够执行的onclick&#xff0c;就必须把value的值进行闭合了&#xff0c;因此这里我们可以先输入一个’ 来进行将value的值闭合。。。 但是由于后门还会有一个’未进行处理&#xff0c;因此我们可以直接把这个当作闭合onclick的值的符号即可&#xff0c;也就是我们只输入了onclick &#61; &#39;alert&#xff08;1&#xff09;

&#39;οnclick&#61;&#39;alert(1)

在这里插入图片描述

成功&#xff01;为方便理解&#xff0c;我们在看一下输入后的页面源代码&#xff1a;

在这里插入图片描述
确实是闭合上了&#xff01;&#xff01; 至于这里连接的" 为什么不见了&#xff1f; 好吧我也不清楚&#xff0c;我猜测是html语言自己忽略了&#xff08;如果有知道的欢迎指出&#xff09; 反正呢&#xff0c;这里就是按着源码就可以直接用’ 进行将两边都闭合起来&#xff01;&#xff01;&#xff01;


level 4

第四关&#xff0c;利用替换函数直接就将<>换成空了&#xff1a;
在这里插入图片描述
然后&#xff0c;查看一下源代码&#xff1a;
在这里插入图片描述

emmm&#xff0c;和上一关一样的意思。。。将上一关payload里的’ 换成"即可&#xff1a;

"οnclick&#61;"alert(1)

level 5

在这里插入图片描述

我们发现这里貌似将script进行了替换&#xff01; 为了方便理解&#xff0c;让我们直接看源代码吧&#xff1a;
在这里插入图片描述
这里&#xff0c;php源码中首先进行了将所有都转为小写的操作。然后&#xff0c;在将script进行替换的操作&#xff01;&#xff01;&#xff01; 因此&#xff0c;这里我们无法使用script这个标签了&#xff0c;但是我们可以使用其他的标签&#xff0c;比如超链接标签等&#xff0c;以下我们就来使用这个标签看看&#xff1a;

"><a href&#61;&#39;Javascript:alert(1)&#39;>

输入完后,点击旁边那个蓝色的按钮就可以实现超链接跳转&#xff1a;在这里插入图片描述

在这里插入图片描述


level 6

第六关&#xff0c;我们发现还是对scriipt进行了替换&#xff0c;但是当我们转化一下大小写发现好像并不会过滤&#xff0c;因此我们可以直接利用大小写以及闭合进行绕过&#xff1a;

"><Script>alert(1)</Script>

在这里插入图片描述


level 7

这一关&#xff0c;为了学习的方便&#xff0c;我们直接看看源代码&#xff1a;

在这里插入图片描述

我们发现这一关将很多关键词都进行了替换&#xff01;&#xff01;&#xff01; 看似毫无办法&#xff0c;但是这里却隐藏着一个逻辑上的bug。。这里由于&#xff0c;代码中的替换只执行了一次&#xff0c;未进行循环的的检测与替换&#xff0c;因此啊我们可以直接就利用双写进行绕过测试了&#xff1a;

"><scrscriptipt>alert(1)</scrscriptipt>

在这里插入图片描述


level 8

我们首先输入一串xss的脚本语句&#xff0c;然后发现呢&#xff01;我们输入的东西最后都拼接到下面友情链接处了&#xff0c;因此这里我们只需要写入Javascript:alert(1)&#xff0c;就可以利用超链接进行跳转&#xff01;

在这里插入图片描述

但是呢&#xff0c;由于代码中进行了替换&#xff0c;因此直接写入是不可取的&#xff01;
在这里插入图片描述

于是&#xff0c;这里我们采取Unicode编码看看&#xff1f;
在这里插入图片描述

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

然后&#xff0c;再点击刚刚那个链接按钮&#xff1a;
在这里插入图片描述


level 9

我们先看看源码&#xff1a;
在这里插入图片描述

因此&#xff0c;这一关需要加上http:// (说实话这玩意&#xff0c;实战怎么可能有&#xff1f;&#xff1f;&#xff1f; 不看代码这怎么想得出来&#xff1f;&#xff1f;&#xff1f;&#xff09;

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

然后此时就可以绕过了&#xff1a;
在这里插入图片描述


level 10

来到这一关啊&#xff0c;我们一打开&#xff0c;首先发现的是这里没有输入框了&#xff01;&#xff01;&#xff01; 既然如此&#xff0c;我们可以先看看页面的源代码布局&#xff0c;以此来看看是否有隐藏的变量在其中&#xff1f;

在这里插入图片描述

从图中可以看出&#xff0c;确实是有的&#xff01;&#xff01;&#xff01; 那我们看看是否可以利用这个参数作为xss的切入点呢&#xff1f;

keyword&#61;well done!&t_sort&#61;" type&#61;"text" οnclick&#61;"alert(1)"

okok&#xff0c;注入完成&#xff01;
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 如何使用专业软件打开和编辑PHP电影文件?
    如何使用专业软件打开和编辑PHP电影文件? ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • jQuery Flot 数据可视化插件:高效绘制图表的专业工具
    jQuery Flot 是一款高效的数据可视化插件,专为绘制各种图表而设计。该工具支持丰富的图表类型和自定义选项,适用于多种应用场景。用户可以通过其官方网站获取示例代码和下载资源,以便快速上手和使用。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 通过整合JavaFX与Swing,我们成功地将现有的Swing应用程序组件进行了现代化改造。此次升级不仅提升了用户界面的美观性和交互性,还确保了与原有Swing应用程序的无缝集成,为开发高质量的Java桌面应用提供了坚实的基础。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • MySQL日志分析在应急响应中的应用与优化策略
    在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ... [详细]
  • Kali Linux 渗透测试实战指南:第24章 客户端安全威胁分析与防御策略
    客户端安全威胁分析与防御策略主要探讨了终端设备(如计算机、平板电脑和移动设备)在使用互联网时可能面临的各种安全威胁。本章详细介绍了这些设备如何作为信息和服务的提供者或接收者,以及它们在与服务器等其他系统交互过程中可能遇到的安全风险,并提出了有效的防御措施。 ... [详细]
  • 微软发布紧急安全更新,所有Windows 10版本均面临影响!
    微软于周五紧急发布了两项安全更新,旨在解决Windows 10所有版本中Windows Codecs库和Visual Studio Code应用存在的安全隐患。此次更新是继本周初发布的月度例行安全补丁之外的额外措施,凸显了这些问题的紧迫性和重要性。这些漏洞可能被攻击者利用,导致系统权限提升或远程代码执行等严重后果。建议用户尽快安装更新,以确保系统的安全性。 ... [详细]
  • 内网渗透技术详解:PTH、PTT与PTK在域控环境中的应用及猫盘内网穿透配置
    本文深入探讨了内网渗透技术,特别是PTH、PTT与PTK在域控环境中的应用,并详细介绍了猫盘内网穿透的配置方法。通过这些技术,安全研究人员可以更有效地进行内网渗透测试,解决常见的渗透测试难题。此外,文章还提供了实用的配置示例和操作步骤,帮助读者更好地理解和应用这些技术。 ... [详细]
author-avatar
happy农村人9_624
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有