关于这个靶场的通关攻略,网上也有很多更详细的,此处只作为自身的笔记
页面上发现一个输出点,修改name的传参试试
<sCripT>alert(1)</ScriPt>
经过测试,最后发现是这个<script>
标签被我虚拟机的安全狗拦截了
网站找到一个过狗的语句
<button onfocus=alert(1) autofocus>
#onfocus表示当获得一个焦点时会执行脚本,autofocus表示自动获得一个焦点
页面弹窗,这关是反射型的xss
搜索框,先上个语句看看<button onfocus=alert(1) autofocus>
页面没有弹窗,查看一下网页源代码
发现我们输入的语句分别被放到了<h2>
和<input>
的value里面,h2标签里面将我们的尖括号进行了html编码,因此没有弹窗;而input标签则需要进行闭合才能使代码执行
闭合:"><button onfocus=alert(1) autofocus> //
页面弹窗,”>用户闭合,//用于注释掉原先的”>
还是一个搜索框,用level2的闭合语句尝试一下
果然不行,查看一下网页源代码
这两处的尖括号都被进行html编码了,因此这时候就需要用到特殊事件来触发xss了
从源码处发现,我们的输入会放入到value当中,但是此处的value是单引号闭合
闭合语句构造为:'oninput=alert(1) //
这个语句表示当输框有内容输入时会执行脚本,因此输入闭合语句时,不会立即弹窗,还需要我们在输入框内再次输入任意内容,才会弹窗
闲麻烦也可用这个语句'onfocus=javascript:alert(1) //
这个语句只要再次点击输入框即可触发onfocus事件
弹窗语句测试
没有弹窗,查看网页源代码
h2标签的依然是将尖括号编码,input标签则是将我输入语句的尖括号给删除了,猜想可能是源码里将尖括号给替换成空了,因此还是用事件来触发
构造语句:"onfocus=javascript:alert(1) //
页面成功弹窗
还是搜索框,上闭合语句测试一下"><button onfocus=alert(1) autofocus> //
页面未弹框,看看网页源代码
发现它会在标签和事件中间加一个短杠,我把安全狗关闭,试一试script标签
发现script标签也会被替换
换a标签试试"><a href=javascript:alert(1)>点击</a> //
点击超链接后触发弹窗
"><a href=javascript:alert(1)>点击</a> //
测试
href被替换了,中间被加了一个短横杠,尝试使用大小写绕过"><a HrEf=javascript:alert(1)>点击</a> //
成功弹窗
这里看着和第关差不多,用a标签大小写试试"><a HrEf=javascript:alert(1)>点击</a> //
查看源代码
发现value处直接将a标签的href属性名给删除了,导致a标签没有效果;并且将javascript替换成了java
尝试将href属性和javascript进行双写看能否绕过:"><a HhrEfref=javasscriptcript:alert(1)>点击</a> //
发现a标签生效,点击弹窗
此类情况可先多种标签或者事件来进行测试,若都不行,尝试关键字大小写,最后试试双写
这个页面看着比之前多了一个超链接,用简单的语句先测试一下输出点<button onfocus=alert(1) autofocus>
查看网页源代码
发现我们输入的语句分别放入两个地方,1处尖括号被转义;2处直接放入到了超链接的href属性值里,并且针对on进行了替换破坏语义;所以带有on的事件都无法用了
用a标签测试:"><a HrEf=javascript:alert(1)>点击</a> //
发现这里对闭合的双引号、href属性、javascript都作了处理
之前源码里发现用户的输入会直接放入到a标签的href属性里面,尝试直接将javascript:alert(1)
进行unicode编码后在输入看看是否有效
输入后点击友情链接,页面弹窗
先用javascript:alert(1)
实体编码测试一下javascript:alert(1)
发现我们输入的值比没有如第八关那样直接写入到href属性当中,而是有个提示说链接不合法,此处有可能会对输入的链接进行检测,尝试加一个http://
, 但同时要保证我们的代码可以执行,所以需要将http://
加在代码后面,并注释掉javascript:alert(1) // http://
成功绕过检测
先用简单的语句测试一下<button onfocus=alert(1) autofocus>
发现并没有弹窗
查看网页源代码
尖括号被过滤,且只发现这一处输出点
看看后台的源码
发现还有一个t_sort参数,这个参数接收的传参只是被过滤掉了尖括号,且会被输出到input标签的value属性当中
传入参数&t_sort="type="text" onclick=alert(1) //
因为input标签是被隐藏的,所以传入一个type让这个输入框显示在页面上,事件才可触发
思路:首先是通过网页源代码发现明面上的输出点在h2变迁之间,尖括号被编码,也没有办法形成闭合,此处输出点没有可利用的地方;通过后台源码发现有隐藏的表单标签,构造payload使表单标签显现出来,然后用事件去触发js
这关的看着和第十关有些类似查看网页源代码
多了一个参数t_ref
使用第十关的构造方式测试一下&t_sort="type="text" onclick=alert(1) //
发现这里把用来闭合的双引号进行了实体编码,所以这里就没有办法闭合了
前面我们看到参数t_ref的value值里有以一个我们第十关的一个地址,猜想这里是不是可以接受ref传参,这里我们用一个谷歌插件modheader(没有插件也可以使用burp抓包修改)来修改一下referer"type="text" onclick=alert(1) //
成功弹窗
看着和前两关也类似
用第十关的语句测试
发现h2标签的尖括号和t_sort参数的双引号依旧被实体编码;不过比起11关,其中的t_ref参数换成了t_ua参数,且其value值里面看着是user_agent的值,因此猜想此处可以接收user_agent的传参
借助谷歌插件modheader,修改user_agent为"type="text" onclick=alert(1) //
此关用第十关的语句测试发现h2处和t_sortcan参数依旧有过滤
最后一个参数变成了t_cook,猜测是cookie传参,老办法,修改cookie"type="text" onclick=alert(1) //
这里直接使用插件修改,貌似不行,那就直接使用burp抓包修改
成功弹窗
这关据网上的攻略是说因iframe地址失效,导致本关无法复现
查看网页源代码
发现src参数的传参值会被插入到span标签的class属性当中
先用个简单的弹窗语句测试一下"><button onfocus=alert(1) autofocus> //
尖括号被实体编码
用事件"><button onfocus=alert(1) autofocus> //
发现尖括号和双引号都被实体编码了
之前发现class属性里面还有一个ng-include
,百度一下
这是一个文件包含的指令,这个指令可以包含外部的html文件,包含的内容将作为指定元素的子节点
可以理解为:我们在src传入的参数可以是一个外部的html,那么我们就可以包含一个有xss的页面进去
另外,在csdn中,wo41个小白菜大佬的文章中了解到
1.ng-include,如果单纯指定地址,必须要加引号
2.ng-include,加载外部html,script标签中的内容不执行
3.ng-include,加载外部html中含有style标签样式可以识别
构造语句'level1.php?name=<button onfocus=alert(1) autofocus>'
成功弹窗
发现keyword的传参值会在页面上显示出来,用简单的弹窗语句进行测试<button onfocus=alert(1) autofocus>
发现传参的值被插入到了center标签之间,且空格被编码了
这里尝试使用换行看能否绕过,换行的url编码为%0a<button%0aonfocus=alert(1)%0aautofocus>
成功绕过
这个页面也没有什么科输入的地方,那就只有传参了,用个简单的语句测试一下
诶嘿,好像没什么反应,但是戏剧性的一幕出现了 我不小心在页面上点了一下鼠标,卧槽,居然就弹窗了,有点懵
查看一下网页源代码
发现这里是将button标签的尖括号给实体编码了,但是恰好,src属性没有引号,不需要闭合,然后我的鼠标是点击到了xsf0.sfw的区域,获得了一个焦点,触发了onfocus事件,所以弹窗了
实际上这里只需用一个事件即可,其中用这个事件更好一些:onmouseover:(表示当鼠标移动到该标签上时就会触发执行某项动作)
这里如果单纯的使用事件,在事件前加一个换行%0a,将属性隔开;如果不加的话,html会把这个事件属性当作scr的的地址拼到一起,就不会触发(html里面每个属性都要隔开)
这关和17关使用同样的方法就完成了
后面两关(因水平有限)就不记笔记了,附个链接吧:守卫者安全的文章https://www.zhaosimeng.cn/writeup/119.html
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
pony686
发表于 2020-11-8
好帖,get到了
评论列表
加载数据中...
jackou
发表于 2020-11-13
感谢分享
评论列表
加载数据中...
1596376292
发表于 2020-12-11
这是哪里的靶场呀
评论列表
加载数据中...