test.ctf8(XSS挑战之旅)解题记录

xss平台网址:test.ctf8.com

过关条件:只有能够跳出完成得不错得提示框,即为过关

level1

第一关没啥好说得,入门题

payload

<script>alert('abc')</script>


level2 

该题通过查看网页源码可以看出,该题将我们输入得内容插入到value标签中

那么我们可以通过在输入得内容前加入">去闭合value标签成功弹窗

 payload

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


level3

这道题通过网页源码可以看出,<>被转义了,"无法被闭合

那么我们就可以在iinput标签内添加一个事件,可选比如说onclick,onfocus等,我们需要在构造得payload前加'(单引号)去闭合之前得value标签,在尾部加上//注释掉后面的'>,写完payload后要点击输入框触发事件

payload

' onfocus=alert('abc')//


 level4

这道题和上一关差不多,唯一区别就是value后面为"(双引号),将其上一题的payload前面单引号改为双引号即为该题payload

payload

" onfocus=alert('abc')//


level5

这道题将script以及onclick和onerror都过滤掉了,那么我们还要另一种方法a标签,构造好payload后点击链接就能成功弹窗了

payload

"><a href="javascript:alert('abc')">//


 level6

这道题主要为将script过滤,html对大小写要求不是很严格,可以将script全部转化为大写来进行绕过,另外通过网页源码可以知道,该题将我们输入的payload插入到value标签中,可以在前面加上">来对其进行闭合

payload

"><SCRIPT>alert('abc')</SCRIPT>


level7

这道题和上一道题差不多,不过这道题过滤了其大小写,我们无法通过大小写绕过,当时我们可以利用sql注入的堆叠方法来对其进行绕过

payload

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


level8 

这道题和上两道题差不多,不过这道题过滤更为严格,只能通过将script转化为heml实体化来进行绕过

payload

java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert('abc')


level9

通过查看网页源码可以知道这道题和上一道差不多,不过这道题需要输入的格式为网址格式,且这道题把双引号也过滤了所以我们需要将双引号也转化为html实体

payload

java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(&#x22;http://")

 


level10 

通过查看网页源码可以看到有几个type=hidden的输入框,我们可以通过onclick去触发该弹窗

payload

http://test.ctf8.com/level10.php?t_sort=" type="text" onclick="alert('abc')"


level11 

这道题通过查看网页源码可以看到有几个type=hidden的输入框,但是在像上一题做的时候就始终无法使得输入框改变type,在看了一下大佬的wp之后,发现该题是需要抓包的

这里需要将cookie改为Referer,并在里面输入

" type="text" onclick="alert('abc')

 

改完之后页面就会出现一个输入框,点击输入框触发该onclick就可以了

 


level12 

这道题思路和上道题差不多,通过查看网页源码可以看到有几个type=hidden的输入框

同时也可以判断出该input标签藏在User-Agent中,修改User-Agent

" type="text" onclick="alert('abc')

改完之后页面就会出现一个输入框,点击输入框触发该onclick就可以了

 


level13 

这道题思路和上俩题思路差不多,也是通过查看网页源码判断input标签所在的位置

 

可以看到这次input标签位置应该在cookie上,修改cookie

" type="text" onclick="alert('abc')

 

 改完之后页面就会出现一个输入框,点击输入框触发该onclick就可以了


level14

这一关主要为利用exif xss漏洞来实现,但是该题中的链接已经失效了,所以无法做该题

先主要来理解一下EXIF,百度百科一下

可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。

Exif可以附加于JPEGTIFFRIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。

大概意思就是利用图片属性来编写xss的payload,在文件上传图片后,浏览器会读取到图片属性从而实现xss弹窗

 这里有俩个来自大佬的链接,方便理解exif xss漏洞

(8条消息) 讲讲EXIF Viewer XSS漏洞的来龙去脉_→_→-CSDN博客https://blog.csdn.net/weixin_39934520/article/details/107068825【巨人肩膀上的矮子】XSS挑战之旅---游戏通关攻略(更新至18关) - 先知社区 (aliyun.com)https://xz.aliyun.com/t/1206?accounttraceid=74ab404d-2a01-4a1c-8b87-36ad367dbe11#toc-12


level15

这道题主要用的是另一个新的知识点:angularJS ng-include指令

通过去菜鸟教程查询关于ng-include

ng-include 指令用于包含外部的 HTML 文件。

包含的内容将作为指定元素的子节点。

ng-include 属性的值可以是一个表达式,返回一个文件名。

默认情况下,包含的文件需要包含在同一个域名下。

通过查看网页源码可以看到我们需要利用ng-include指令来过关

通过构造payload,将level1传进去从而实现弹窗

不过该题我一直在尝试,一直没出现弹窗,不知道是什么原因导致


level16

这道题主要把script和空格都过滤改写了,我们可以通过改写payload来对其进行测试,因为该题将空格改写,所以我们需要利用html编码,将空格替换成%0a去进行测试

payload

<img%0asrc="x"%0aonerror=alert('abc')>


level17

对这道题进行测试,并查看该网页代码,发现该题将我们输入的的内容插入到embed标签内,并且双引号给过滤替换掉了,所以我们可以换种思路,利用on事件去触发

payload

 onmouseover=alert('abc')


level18 

这道题和上一道题一模一样,连payload都是一样的

payload

 onmouseover=alert('abc')

 

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值