【网络安全 --- xss-labs靶场通关(11-20关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻

news2024/11/23 7:18:49

如果需要安装各种系统,虚拟机,工具等等关注我,已经在出系统的课程了

一,靶场安装

超详细的靶场安装教程如下,提供工具,靶场,镜像等

【网络安全 --- xss-labs靶场】xss-labs靶场安装详细教程,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)-CSDN博客【网络安全 --- xss-labs通关】xss-labs靶场通关,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)https://blog.csdn.net/m0_67844671/article/details/133915033?spm=1001.2014.3001.5502

二,1-10 通关

1-10 关的通关思路以及技巧我详细写了篇博客讲解了,请看下面这篇博客就可以

【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻-CSDN博客【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻https://blog.csdn.net/m0_67844671/article/details/133960815?spm=1001.2014.3001.5502

三,11-20通关

3-11 第十一关:

页面上没有任何可以输入输出的地方,不过通过“检查”来查看渲染结构以后发现有4个隐藏的输入框,而且t_ref有value值,前三个隐藏的文本框我们可以试着传值

发现t_ref是refer字段的值,很明显是来第十关的URL

这个我们通过burp抓包来修改比较方便,payload用的还是第十关的payload。当第十关完成的时候,点击确定按钮,然后就抓包,可以抓到第十一关的数据包,然后将referer改为上面的payload

回到第十关,重新闯关,输入payload按回车

隐藏的文本框显示出来了,我们的payload是onblur文本框失去焦点的时候触发的事件

 

在文本框内点一下,获得焦点,在文本框外点一下就失去焦点了,失去焦点以后触发payload就会弹框,先不要着急点确定,这个时候需要抓包

 

打开Burp Suite 代理----拦截----打开拦截

 

然后回到页面上点击确定按钮,就可以抓到跳转第十一关的数据包了 

 

我们在第十一关知道了refer字段的内容会渲染到第十一关的一个input标签的value值中,所以这里修改refer字段的值为payload,然后放行,关闭拦截

'" type='text' onclick='alert(123)' 
'" type='text' onblur='javascript:alert("aini")' 
// 注意,我们单纯的用带引号办法闭合前面的value="的双引号

 

放行以后就到了第十一关,能看到payload也成功渲染到了页面上,触发条件时文本框失去焦点 

 

 

所以先点击文本框获得焦点,然后点击文本框外面区域失去焦点,就这样成功通过了第十一关 

 

 3-12 第十二关:

看到t_ua 是不是立马有了想法,跟上一关思路一模一样,只是这里渲染的是上一关的user-agent请求头,所以跟上一关一样,先会到上一关,进行闯关,弹框出来以后不要点确定,进行抓包

 

所以先回到十一关,闯关弹窗以后,不要点确定,打开Burp Suite然后点击确定抓包

 

抓包如下

 

修改User-agent字段的值为payload,然后放行,关闭拦截 (10,11,12关payload都一样

 

看到如下弹框就成功过关了

 

3-13 第十三关:

和第十一、十二关一样,但是这次是cookie数据  ,照猫画虎就行,在第十二关弹框以后抓包,点击确定按钮抓包,改cookie数据改成payload,然后放包,关闭拦截就可以

3-14 第十四关:

题有问题,提示点击进入第十五关:

 

点击以后发现进不去,如下显示,一看发现实点击链接URL有错误,我们是xss-labs/level15,所以改一下再点回车

 改完URL以后就进入到了第十五关

3-15 第十五关:

 

这一关需要借助到一个新的属性,AngularJS的ng-include,ng-include指令-CSDN博客一、AngularJS ng-include指令定义和用法ng-include 指令用于包含外部的 HTML 文件。包含的内容将作为指定元素的子节点。ng-include 属性的值可以是一个表达式,返回一个文件名。默认情况下,包含的文件需要包含在同一个域名下。语法element ng-include="filename" οnlοad="_ng-includehttps://blog.csdn.net/u011127019/article/details/53666528/

那么既然是可以直接引用html文件,那么我们直接引用一下第一关网址的html文件网址路径来试下

 http://192.168.31.159/xss-labs/level1.php?name=aini

src改了以后发现,下面渲染结构里面的有一个部分也一起改了 

构造payload  

http://192.168.31.159/xss-labs/level1.php?name=aini'"><script>alert('aini');</script>
 

输入payload回车以后发现script标签被过滤了,那我们换个标签 

 

http://192.168.31.159/xss-labs/level1.php?name=aini<img src=1 οnerrοr=alert("aini")> 
// 注意不要让src=#,#会影响输入,有注释的效果,而且img标签的后面结尾处把/删除,也就是<img src=1 ../>把/删除。 

值得注意的是,网址外层要加上单引号,完整URL如下

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

 

3-16 第十六关:

发现接受一个keyword参数,输出到页面上

先用标签试一下,能不能成功

<img src=1 onerror=alert("aini")>

 回车以后发现,发现空格被实体编码了

 

尝试用换行替换空格的方式进行绕过,可以先将换行进行url编码 %0D%0A ,因为在html中换行和多个空格都是按照一个空格进行处理的,然后测试:(注意特殊符号也进行了URL编码)  

http://192.168.31.159/xss-labs/level16.php?keyword=%3Cimg%0D%0Asrc=1%0D%0Aοnerrοr=alert(%22jaden%22)%3E​​​​​​​
 

发现成功了 ,所以这也是一个新学到的如何绕过空格的一个绕过思路,下次遇到可以按这个思路尝试一下

 

3-17 第十七关:

 

embed标签可以理解为定义了一个区域,可以放图片、视频、音频等内容,但是呢相对于他们,embed标签打开不了文件的时候就会有块错误的区域。也可以绑定各种事件,比如尝试绑定一个onmouseover事件。后台看代码用了htmlspecialchars,所以直接写标签是不行的。embed标签基本不怎么用了,所以这一关就简单了解一下即可。  

' onmouseover=alert("aini")

 

3-18 第十八关:

和第十七关一样,payload也一样  

' onmouseover=alert("aini")

 

3-19:第十九关:

这两关就不做了,涉及到flash触发的xss漏洞,不过现在flash技术全面停止使用了,基本上不用flash了

3-20:第二十关:

这两关就不做了,涉及到flash触发的xss漏洞,不过现在flash技术全面停止使用了,基本上不用flash了

 

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

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

相关文章

uniapp canvas 无法获取 webgl context 的问题解决

uniapp canvas 无法获取 webgl context 的问题解决 一、问题描述 在 uniapp 中做一个查看监控视频的页面&#xff0c;用到的是 JSMpeg 这个库&#xff0c;原理就是前后台通过 websocket 不断推送新画面内容到前端&#xff0c;前端通过这个 JSMpeg 渲染到前端页面中指定的 can…

selenium4 元素定位

selenium4 9种元素定位 ID driver.find_element(By.ID,"kw")NAME driver.find_element(By.NAME,"tj_settingicon")CLASS_NAME driver.find_element(By.CLASS_NAME,"ipt_rec")TAG_NAME driver.find_element(By.TAG_NAME,"area")LINK_T…

10.22A*算法,华容道,状态压缩

A* P1379华容道 问题是要从初始布局用最少的步骤到目标布局&#xff0c;每次只能动0周围的格子&#xff0c;就是华容道&#xff1b; 怎么用算法的思路解决&#xff1f; 状态压缩思路 每个数字就代表当前的状态&#xff0c;队列和map函数都记录的是当前的状态数&#xff0c;…

众和策略:跨界收购算力公司 高新发展斩获3连板

高新展开23日开盘再度一字涨停&#xff0c;截至发稿&#xff0c;该股报21.74元&#xff0c;涨停板上封单超200万手。至此&#xff0c;该股已连续3个生意日涨停。 公司18日晚间宣布生意预案&#xff0c;拟通过发行股份及支付现金的方式购买高投电子集团持有的华鲲振宇30%股权、…

P1451 求细胞数量 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围与提示思路及部分实现完整代码 题目描述 一矩形阵列由数字 0 0 0 到 9 9 9 组成&#xff0c;数字 1 1 1 到 9 9 9 代表细胞&#xff0c;细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞&#x…

10.23归并排序

课上 归并排序 最大时&#xff0c;就是两个都是完全倒序&#xff0c;但注意一定有一个序列先用完&#xff0c;此时剩一个序列只有一个元素&#xff0c;不用比较&#xff0c;直接加入&#xff0c;所以就是nn-1, 最小时&#xff0c;是都是完全有序&#xff0c;且一个序列中的元…

ZYNQ移植ARM CMSIS_DSP库

移植方法 Vitis中新建一个Application Project&#xff0c;选择HelloWord模板。按下面步骤移植CMSIS_DSP&#xff1a; 下载CMSIS_DSP&#xff0c;拷贝如下文件夹到Vitis工程&#xff1a; SourceIncludePrivateIncludeComputeLibrary (only if you target Neon) 对Source路径下…

古铜色的P1.2直径1.2米无边圆形(饼)创意LED显示屏绽放上海苏河湾万象天地展厅

我们公司的圆形LED显示屏是专门根据业主的独特需求开模定制的。为了满足各种不同的规格和要求&#xff0c;我们已经成功地对多个点间距与直径进行了精密的开模设计&#xff0c;且工艺技术成熟稳定&#xff0c;能够保证快速的交期。 这种圆形LED显示屏是通过独特的开模定制方式…

基础课6——计算机视觉

1.计算机视觉的概念与原理 1.1概念 计算机视觉&#xff08;CV&#xff09;是人工智能的一个重要发展领域&#xff0c;属于计算机科学的一个分支&#xff0c;它企图让计算机能像人类一样通过视觉来获取和理解信息。计算机视觉的应用非常广泛&#xff0c;包括但不限于图像识别、…

HIMA F3236 F7553 面向制造业的可视化人工智能

HIMA F3236 F7553 面向制造业的可视化人工智能 近年来&#xff0c;出现了一种分析高触摸制造的新解决方案:基于图像传感器数据的人工智能驱动分析。与时间和运动研究或Gemba Walks不同&#xff0c;分析从不停止&#xff0c;系统更不容易出现人为错误和偏差。 直到最近&#…

Vue3获取proxy对象的值而不是引用的方式

情景 vue3中定义一个响应式对象&#xff1a; let obj1 reactive({userName:"tom", age:5, hobby:{a:"av",b:"bv"}}); 打印obj1&#xff0c;结果为proxy对象 定义第二个响应式对象&#xff1a; let obj2 reactive({userName:"",ag…

2023年中国二手车交易行业发展历程及趋势分析:整体规模仍保持稳定增长[图]

二手车交易主要内容包括&#xff1a;二手车评估前期工作、技术状况鉴定、寄卖、置换业务、价格评估、交易实务。主要手续包括车务手续、车辆保养维修手续、税费手续。 二手车交易行业分类 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#xff09; 未来&#xff0c;二…

PySide6/PyQt6宝典:新手问题一网打尽!

文章目录 📖 介绍 📖🏡 环境 🏡📒 使用方法 📒📝 常用cmd命令📝 如何使用ui文件📝 主窗口如何调用其它窗口📝 后台执行任务(防止界面卡死)📝 信号与槽📝 如何停止循环任务📝 未完...⚓️ 相关链接 ⚓️💋💋💋💋💋💋📖 介绍 📖 本文

typeerror: Cannot read properties of null (reading ‘emitsOptions‘)报错原因及解决方法

可能导致的原因以及解决方法&#xff1a; 在父组件中子组件名称没有正确引入&#xff1a;检查组件名称和子组件是否正确定义props以及emit的使用在一个空值上去访问属性&#xff1a;可以使用可选链操作符&#xff08;&#xff1f;&#xff09;去检查对象是否为空v-if指令的判断…

零信任特权访问管理

零信任特权访问管理 &#xff08;PAM&#xff09; 是一个安全框架&#xff0c;它结合了基本的零信任原则来保护特权帐户和资源。它要求对尝试访问企业资源的所有用户进行持续验证和授权&#xff0c;以防止未经授权的访问。此强制过程可确保默认情况下永远不会信任用户和设备&am…

MacOS Mojave(苹果14系统) v10.14.6中文离线安装包

MacOS Mojave是一款先进的操作系统&#xff0c;它拥有诸多出色的特性。其中&#xff0c;夜间模式可以根据时间或用户设置自动切换&#xff0c;改变了UI、壁纸和窗口的样式&#xff0c;使界面在夜晚使用时更为舒适。另外&#xff0c;新的堆栈和群组功能让用户能更方便地分类和整…

【BigDecima】不可变的,任意精度的有符号十进制数。

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ BigDecima BigDecima作用及原理 BigDecima作用…

经典卷积神经网络 - LeNet

该模型用于手写的数字识别。 LeNet模型包含了多个卷积层和池化层&#xff0c;以及最后的全连接层用于分类。其中&#xff0c;每个卷积层都包含了一个卷积操作和一个非线性激活函数&#xff0c;用于提取输入图像的特征。池化层则用于缩小特征图的尺寸&#xff0c;减少模型参数和…

Go运算操作符全解与实战:编写更高效的代码!

本文全面探讨了Go语言中的各类运算操作符&#xff0c;从基础的数学和位运算到逻辑和特殊运算符。文章在深入解析每一种运算操作符的工作原理、应用场景和注意事项&#xff0c;以帮助开发者编写更高效、健壮和可读的Go代码。 简介 Go语言&#xff0c;作为一种现代的编程语言&am…

Python实战小项目分享

Python实战小项目包括网络爬虫、数据分析和可视化、文本处理、图像处理、聊天机器人、任务管理工具、游戏开发和网络服务器等。这些项目提供了实际应用场景和问题解决思路&#xff0c;可以选择感兴趣的项目进行实践&#xff0c;加深对Python编程的理解和掌握。在实践过程中&…