xss-labs-master通关秘籍

 

目录

壹拾

壹拾壹 

壹拾贰 

壹拾叁

壹拾肆

壹拾伍

壹拾陆

壹拾柒

壹拾捌

壹拾玖

贰拾


愉快的旅程即将开始!!!快上车!!!

来和我一起打怪升级吧。哈哈哈哈哈!!!

发现页面没有输入框,但发现可以更改url

它已经告诉我们这一关 It's easy,那我们就用最简单的代码试一下

<script>alert(/vegetable/)</script>

那么这一关就通过了,果然是 easy 的

先用刚才的代码试一试,发现不行

看一下网页源码,发现是 < 和 " 没有闭合,那么怎么办呢?

答案也很简单,闭合就好了

"><script>alert(/vegetable/)</script>

然后第二关也就这么通过了,是不是很简单

还是先用最开始的语句试一试,发现果然一关比一关难,还是不行

再看一下网页源码,发现对尖括号进行了过滤," 被转义成 '

这个时候也不要慌,我们换一种语句试试,单引号是为了闭合

'οnclick='alert(/vegetable/)

虽然报错了,但onclick需要用户点击才能执行,点击一下搜索框,就发现通关了

鉴于越往后难度越高,过滤的信息也越多,我们先输入一个包含很多绕过方式的语句,叫它万能语句好了

<SCR<script>IPT>'"()Oonnjavascript

然后我们查看源码,根据源码的过滤信息使用语句,发现 < 被过滤

那我们尝试使用,双引号是为了闭合

"οnclick="alert(/vegetable/)

与之前的相同,还是需要鼠标点击才能触发

万能语句走一波~~~

查看源码找过滤,可以看到大写字母都被转化成小写,r 和 i 之间,o 和 n 之间增加了 _

现在我们尝试一下伪协议语句,在考虑闭合问题加上相关符号

"><a href="javascript:alert(/test/)">touch me!</a>

点击touch me即可过关!

同样的,先上万能语句

在同样的,查看源码找过滤信息

r 和 i 之间,o 和 n 之间增加了 _,但并未进行大小写转义,将O写成大写试一下

"Onclick="alert(/vegetable/)

ok,下一关!

有些话说太多也就没意思了,先干什么你们可能也清楚了

查看源码发现

所以,我们试一下双写script,同时,不要忘了进行闭合

"><scrscriptipt>alert(/vegetable/)</scrscriptipt>

先输入万能语句<SCR<script>IPT>'"()Oonnjavascript

对比语句,查看源码发现, " 被转义,r 和 i o 和 n 之间加了 _ ,还存在大小写转义

尝试伪协议,因为填入的值就在href中,所以我们就直接填其中的内容,javascript:alert(/test/)

然后对其中的 r 字符进行ASCII编码,javasc&#82;ipt:alert(/test/)

然后就发现很愉快的通关了

查看源码后,发现连接不合法,那么合法连接是什么呢?

我们尝试将http://写到万能语句后面,即<scr<script>ipt>'"()oonnjavascripthttp://

此时连接合法了,我们再看它的过滤,和上一关差不多

我们采用上一关的语句,并把http://写入其中

javasc&#82;ipt:alert('http://')

壹拾

来到第十关,打眼一看,和第一关还有点相似,我们先尝试一下万能语句

我们发现不太行,但是发现下面还有三个参数,t_link,t_history,t_sort

尝试这三个参数能否传递变量,然后我们发现t_sort很好看

尖括号被过滤,我们试一下"οnclick="alert(/vegetable/)

可以看到,语句是有了,但是没有输入框让我们点击,我们没法触发事件,也可以看到后面跟着的type类型是hidden

那就试着想一想更改一下type,别问为什么写在onclick前面,自己试一试就明白了

然后点击一下这个小按钮就可以通关了

壹拾壹 

看上去好像和上一关是一样的?

直接看源码,看看是什么样子,多了一个t_ref,剩下的好像和上一关一样

按之前的方法试验一下,可以看到还是t_sort能够传参,那把刚才的语句在试一遍,发现并不行

t_ref看起来好像是请求包的referer,用burpsuite抓包看一下,并没有发现有这一项,自己加一个试试

查看源代码,发现好像是找到了注入点

在此用burpsuite,只不过这次使用构造好的代码,代码和上一关相同

点击按钮后,成功弹窗

壹拾贰 

 貌似都是一个妈生的!!

t_ua,再加上后面那一串,user-agent?

至于是不是,抓包看看呗!

先将抓到的包发送至repeater看看,结果发现猜想正确!

 回到proxy,修改相应内容后,发送,点击按钮,然后得到弹框

壹拾叁

预感和前几关有异曲同工之妙

用burpsuite抓包后先发送给reapeater,然后点击send,查看回包,与查看源代码类似

 t_cook难道就是cookie吗?

证明确实如此,与上一关一样,不在赘述

壹拾肆

这一关的照片打不开,略过把暂时

壹拾伍

让我们想个办法走出去,可是发现好像都不知道该怎么进去

查看源码,发现源码中有一个ng-include,该指令一般用于包含外部html文件。所以我们需要包含一个有漏洞的页面

 

level1不就是一个现成的有漏洞的页面吗?

构造语句

level15.php?src='http://192.168.80.128/xss/level1.php?name=<img src=null onerror = alert(1)>'

即可完成关卡

壹拾陆

这一关是这样的

抓包查看是这样的,好像可以直接构造代码 

 先用万能语句看看哪些字符被过滤,可以看到大写转换成了小写,将script转义

使用和上一关类似的 img 标签,发现不能使用空格,使用%0a代替空格

最终问题得到解决,得到弹窗

壹拾柒

这一关似乎将两个参数拼接在了一起

可以用其他数值再确认一下,证明确实如此

这个点似乎可以利用起来,构造如下的语句

 回到页面移动鼠标即可造成弹窗

壹拾捌

貌似一样?但是肯定不会这么简单的

但事实。。。这一关和上一关一样

壹拾玖

看起来也是一样的啊,但是用之前的方法并不可行

查看源码,其对引号做了实体编码处理,并且将关键字作为普通文本,我没发现问题,但是看网上别人给出的解决方案,是利用给swf传参version,然后在构造标签插入

../xss/xsf03.swf?version=1

../xss/level19.php?arg01=version&arg02=<a href="javascript:alert(123)">click me</a>

贰拾

与19关解决方法一样,只是用的插件不同

 

 

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值