xss-labs通关攻略教程(level11~level 20)


xss-labs通关攻略教程(level1~level 10)

level 11——Referer信息

  1. url处提交测试代码并查看源码
javascript:alert('xss')

在这里插入图片描述

  1. 查看服务器端源码在这里插入图片描述
    在服务器端还将请求头中的referer头的值赋给了str11这个变量,再将变量值中的<>删除之后就会插入到t_ref这个标签的value属性值中。而上一关的t_sort标签虽然也能接收并显示参数值,但是这个参数值是要用htmlspecialchars()函数处理的。
  2. 使用burp抓包,没有referer这个数据,我们添加
referer:111

查看响应位置。在这里插入图片描述
4. 修改referer处的数据为

referer:"type="text" οnclick="alert('xss')

在这里插入图片描述
5. 放包点击输入框,即可出现xss的弹窗。

level 12——user-agent信息

  1. url处输入测试语句javascript:alert('xss'),查看网页源码在这里插入图片描述
  2. 我们查看t_ua标签中value属性的值比较眼熟,使用burp抓包查看,发现为user-agent字段中的值,于是考虑在此处构造合法的payload在这里插入图片描述
User-Agent: "type="text" οnclick="alert('xss')

在这里插入图片描述
4. 放包后,点击输入框,即可看到xss的弹窗。在这里插入图片描述

level 13——Cookie信息

  1. url处输入测试语句javascript:alert('xss'),并查看网页源码在这里插入图片描述
  2. 尝试上一关相同的思路,抓包看一看在这里插入图片描述
  3. 发现t_cook标签中value属性的值正好为cookie的信息,于是考虑在cookie处构造合法的payload
Cookie: user="type="text" οnclick="alert('xss')

在这里插入图片描述
4. 放包后,点击输入框即可得到xss的弹窗。在这里插入图片描述

level 14——exif xss

  1. 来到十四关后发现网页一直在响应,最终得到无法响应的界面
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

level 15——ng-include属性

在这里插入图片描述

  1. 抓包也得不到有用信息,我们查看网页源码在这里插入图片描述

发现最后一行有class="ng-include:"的语句,ng-include指令一般用于包含外部的 HTML 文件,ng-include属性的值可以是一个表达式,返回一个文件名,但是默认情况下,包含的文件需要包含在同一个域名下。很有可能这个指令就是突破口,所以我们可以包含一个有漏洞的页面
特别值得注意的几点如下:

  • ng-include,如果单纯指定地址,必须要加引号
  • ng-include,加载外部htmlscript标签中的内容不执行
  • ng-include,加载外部html中含有style标签样式可以识别
  1. 查看你服务器端源码,我们包含的HTML文件注意会被转义,尖括号会被过滤。在这里插入图片描述
  2. 构造合法的payload
?src='level1.php?name=<img src=1 οnerrοr=alert(1)>'

level 16——空格绕过

在这里插入图片描述

  1. 查看服务器端的源码在这里插入图片描述
    发现空格、反斜杠、script均被替换为空格,因此考虑用%0A绕过空格

  2. 构造合法的payload

?keyword=<a%0Ahref='javas%0Acript:alert("xss")'>xss

在这里插入图片描述
4. 点击xss链接即可得到xss的弹窗在这里插入图片描述

level 17——合二为一

在这里插入图片描述

  1. 很奇怪,中间有一个flash不能正常显示,查看网页源码在这里插入图片描述

  2. 查看服务器端的代码在这里插入图片描述

我们提交的参数在<embed>标签的src属性中,这一关有两个参数:arg01arg02,当我们发送的时候,发现他们是会互相拼接起来的,并且做了尖括号过滤,那么我们可以加入一个属性进去,生成恶意代码。<embed>标签就是引入一个swf文件【SWF格式是动画软件Flash的专用格式】到浏览器端,并且它的src属性值不需要闭合

  1. 构造一个恶意代码
?arg01= onmousemove&arg02=javascript:alert(/xss/)

?arg01=a&arg02= onmousemove="alert(/xss/)"

?arg01= onclick&arg02=alert('xss')  //每一种方法的空格都很重要

onmouseover:(表示当鼠标移动到该标签上时就会触发执行某项动作)。
在这里插入图片描述

正常来说,执行正确是在在该swf文件区域点击会出现弹窗,由于我的电脑配置问题,可能swf文件显示不出来。

level 18

在这里插入图片描述
与上一关方法相同

level 19&level 20

这两关涉及flash xss
常见的可触发xss的危险函数有:
getURL navigateToURL ExternalInterface.call htmlText loadMovie

要想知道这一关的是不是属于flash xss,只需要对引用的swf文件,进行反编译然后进行源码分析,反编译的工具是jpexs-decompiler,项目地址:https://github.com/jindrapetrik/jpexs-decompiler

flash xss

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

poggioxay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值