XssChallege(二)

前面XssChallege(一)中的内容个人觉得比较基础了,从这里开始就有一些细节上的东西要开始注意了

FOURTEEN

第十四关要连接外网,先跳过,一会找找其他的攻略

FIFTEEN

先查看源代码
上面有一个 src的链接,下面有一个疑似可以传入参数的地方
在这里插入图片描述

但是不知道这个 ng-include 是指什么

| ## 定义和用法
ng-include 指令用于包含外部的 HTML 文件。
包含的内容将作为指定元素的子节点。
ng-include 属性的值可以是一个表达式,返回一个文件名。

默认情况下,包含的文件需要包含在同一个域名下。
参数值
描述
filename文件名,可以使用表达式来返回文件名。
onload可选, 文件载入后执行的表达式。
autoscroll可选,包含的部分是否在指定视图上可滚动。
语法

<_element_ ng-include="_filename_" onload="_expression_" autoscroll="_expression_" ></_element_>
ng-include 指令作为元素使用:
<ng-include src="_filename_" onload="_expression_" autoscroll="_expression_" ></ng-include>
所有的 HTML 元素都支持该指令。

从定义可以看出,这个函数用来包含外部的html文件,那意思是应该是包含一个xss漏洞的文件来实现进行弹窗。
在这里插入图片描述

发现通过src传参竟然可以传入到ng-include中,用来尝试一下上面的想方法
但是,不管怎么传入带有xss漏洞的文件都无法使函数正常执行,搞心态了
后来多方查询,原来是调用的js文件路径是google有关的,这个国内没法访问了,换成
[https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js]
之后传入[http://192.168.46.164/xssChallenges/xss/level15.php?src=%27level1.php%27]
在这里插入图片描述

页面是终于有反应了,于是通过第一关的方法,但是这一关会将尖括号过滤掉,xss构造的几种方法中
先试试伪协议?name=<a href=javascript:alert(1)>'
发现下面的payload字体变蓝,点击,弹窗成功。
在这里插入图片描述

既然伪协议成功,那么产生事件的方法应该也可以。

SIXTEEN

首先看到页面上显示着keyword中的参数,于是我们尝试将最终测试代码<script script "' OOnn>传入
发现在这里插入图片描述

之后查看源代码,在这里插入图片描述

可以发现将script进行了过滤并且对大小写进行了过滤,但是未对单引号和双引号进行过滤并且on相关字符也可也使用。
第一感觉先 产生事件试试<img src='123' onerror=alert(/xss/)>
在这里插入图片描述

发现对空格,/都进行了url实体转义并且 o都变成了。。。这是什么o?
那先避开这些,空格用回车的编码代替,alert中的内容换成1试试
<img%0asrc='123'%0aonerror=alert(1)>
在这里插入图片描述

完成了!

SEVENTEEN

查看源代码,有一个embed标签,

标签定义及使用说明

标签定义了一个容器,用来嵌入外部应用或者互动程序(插件)。
注意:现在已经不建议使用 标签了,可以使用 、、、 等标签代替。


HTML 4.01 与 HTML5之间的差异

标签是 HTML 5 中的新标签。


属性

New :HTML5 中的新属性。

属性描述
height
Newpixels规定嵌入内容的高度。
src
NewURL规定被嵌入内容的 URL。
type
NewMIME_type规定嵌入内容的 MIME 类型。
注:MIME = Multipurpose Internet Mail Extensions。
width
Newpixels规定嵌入内容的宽度。

看到这里。。。反正我的火狐没有任何其他显示
在这里插入图片描述

查看源码发现url中的两个参数/xssChallenges/xss/level17.php?arg01=a&arg02=b
反映在源码中为 a=b

<h1 align=center>欢迎来到level17</h1>
<embed src=xsf01.swf?a=b width=100% heigth=100%><h2 align=center>成功后,
<a href=level18.php?arg01=a&arg02=b>点我进入下一关</a></h2>

然后将这两个参数从url中删除后再查看
在这里插入图片描述

两个参数均消失,可以看出,这里的两个参数分别是传入等号前后
本想通过参数b将前面的标签闭合然后产生事件,结果

<embed src=xsf01.swf?a=&gt;&lt;input type=&quot;button&quot; οnclick=&quot;alert(/XSS/)&quot;&gt;&gt;// width=100% heigth=100%><h2 align=center>

尖括号、单引号、双引号都被转义
╮(╯▽╰)╭
那就只能使用伪协议或者 事件了
当我尝试?arg01=a&arg02=b onclick='alert(1)'?arg01=a&arg02=b onmousedown=alert(1)
我的火狐就跟喝高了一样,无任何反应
so?
再看看这个embed,嵌入什么应用。。。
那我的页面也没有任何嵌入啊
于是,再查资料,发现火狐是要装插件的
那还是换chrome吧
随后尝试两个方法,第一个应该成功了吧,但是由于无法加载的问题,没能弹窗
但是第二个就弹窗成功了
在这里插入图片描述

EIGHTEEN

在这里插入图片描述

进入18关,映入眼帘,与上一关相同的情况
在这里插入图片描述

果然这个家伙还在
然后看到url中,相同的两个参数,源码中相同的位置
试一下上一关的办法
?arg01=a&arg02=b%20onmousedown=alert(1)
在这里插入图片描述

成功!

NINETEEN

一进入发现。。。好像跟上面一样?相同的三道题,不会吧
试一下上一关的方法,果然不行
查看源代码

<embed src="xsf03.swf?a=b οnmοusedοwn=alert(1)" width=100% heigth=100%>

这次src中加上了双引号,使得我们之前的空格没办法使onmousedown成为一个单独的属性了
先测试一下,总感觉不应该直接闭合这么简单
使用<script script "’ OOnn>

<embed src="xsf03.swf?a=&lt;script script &quot;' OOnn&gt;" width=100% heigth=100%>

得到尖括号、双引号被转义,跟想的一样,肯定是不能直接用双引号闭合这么简单。
然后。。。
我搞了一整天,学的办法都轮着用了好几遍,但是没用,于是
恕我是个新手,就去找了找相关攻略,结果发现,后面这两关是有关flush xss的,额。。。由于现在flush已经很少有使用了,所以浏览器显示不出来也很正常,
再加上了解了一下这个是有反编译的成分在里面,于是我还是先放弃了,空闲的时间去好好研究一下。
话说,flush xss现在来说,应该算一个老的漏洞了吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值