某xss挑战赛闯关笔记

0x0 前言

在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyun.com/forum/read/1462.html),去看了一下发现是前几天刚发现的平台,看了一下那个绕狗教程感觉挺不错的,xss却没有玩,那么正巧就玩一下,顺便学习一波别的师傅的思路。

http://xss.tv

闯关地址:http://test.xss.tv

自己做了一些,也看了一下先知monika师傅的wp,参考了几道题。做到了第十八关,剩下的做不了了,考的是flash xss得反编译分析,暂时没有去研究了。待日后在弄吧。

注意:题目需要在firefox下做,chrome下的xss audit太猛了,或者关闭再做也是可以的。

Level 1

第一题很简单,没有任何过滤,输出在标签之间。

参考payload:

<svg/onload=alert(1)>

Level 2

输出点有两个

测试之后发现第二个点可以。

闭合掉双引号,用on事件就可以了。

参考payload:

" onclick=alert(1)> 需要点击一下输入框。" onmouseover=alert(1)> 要鼠标滑过输入框

Level 3

两个输出点,依旧是标签属性内的可以

用单引号闭合即可,然后用on事件,大同小异。

参考payload:

‘ onclick=alert(1)%0a  %0a用做换行使的input标签语法正确,主要是因为过滤了“>”。

Level 4

和level 3如出一辙,只是换成了双引号

参考payload:

" onclick=alert(1)%0a 

这里就不截图了。

Level 5

这里过滤on事件,on会变成o_n

故用javascript来绕过

参考payload:

"><a href=javascript:alert(1)> 点击一下链接即可  

Level 6

这道题同样是过滤了on,但也过滤src,href等。

但最后发现可以大小写绕过,参考payload:

"><svg x="" Onclick=alert(1)>

Level 7

这道题过滤script等关键字,发现置换为空,所以可以双写绕过。

参考payload:

">hello<sscriptcript>alert(1)</sscriptcript>

Level 8

这道题过滤javascript关键字,会把javascript变成javasc_ript。可以通过tab制表符绕过(%09)

参考payload:

javasc%09ript:alert(1) 需要点击一下页面内链接

Level 9

这道题做的时候感觉有点怪怪的,不知道过滤什么,故参考了一下先知的wp,发现是必须要包含http://。

同样这道题也过滤了javascript关键字,会变成javascr_ipt。

参考payload:

javascr%09ipt:alert(1)//http:// 这里必须要用单行注释符//注释掉后面的http://,这里因为是属于js范畴,所以单行注释符是可以使用的。

Level 10

这道题做的时候也是蒙圈,keyword过滤了用不了,没有输出点怎么破?看了一下先知的wp,发现有隐藏的form和input。

因为也没过滤什么,最后的参考payload为:

keyword=test&t_sort=" type="text" onclick="alert()

Level 11 12 13

这三道题都是一样的东西,从第十关过来之后会发现t_ref有东西

参考payload:

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

(其他两题payload是一样的,只是输入点不一样而已,12关输入点是ua,13关输入点是cookie)

因为11题是referer,所以得用burpsuite来抓包改,直接用hackbar是改不了的。

修改成payload之后,发包即可。

 Level 14

看了先知的wp,才知道是图片exif 藏有xss payload。但是我自己测试不成功,就不截图了。详情可以参考先知的(https://xianzhi.aliyun.com/forum/read/1462.html?page=2)

Level 15

这一关考的angular js的知识,稍微百度一下相关知识

发现ng-include有包含文件的意思,也就相当于php里面的include。看了一下先知的wp。

发现可以包含第一关的页面,最后的参考payload:

src=‘level1.php?name=<img src=x onerror=alert(1)>‘

Level 16

这一关,过滤了空格。可以选择用其他符号来绕过比如(%0a%0d)

参考payload:

<img%0a%0dsrc=x%0a%0donerror=alert(1)>

Level 17 18

这两关的考点是一样的,同样的payload可以过。放了个swf在页面,搞得我以为是flash xss,反编译,看源码折腾了一会,发现找不到点。然后想去参考一下先知的,结果发现不是flash xss,泪奔。

参考payload:

  onmouseover=alert(1) 注意:onmouseover前面有一个空格

Level 19,20

这两道题看了一下,都过滤了双引号,闭合不了。应该是考flash的。

想着flash不会就跳过了这两道题,去看一下21题,但是访问报错了,不知道是没有了还是必须得做出前面的题才行。那么,也就到这里为止了。

总结:

经过这次闯关,学习到不少东西,也巩固了不少知识。

做题的时候还有点心急了,导致看了参考,这样不利于自己解题。重要的是过程,明白其原理!

不能太懒,这样只能是慢别人半拍。

时间: 2024-10-13 22:17:43

某xss挑战赛闯关笔记的相关文章

黑板客爬虫闯关笔记(1-3关)

--首先,感谢黑板客老师做了这个爬虫闯关系列,让大家学习到不少知识. 第一关:将网页提示的数字加在网址后面 解题思路: 1.找到数字对应的html标签,用正则匹配标签内容. 2.将数字提取出来加到第一关网址后面,获取新的数字. 解题过程: 第二关: 解题思路:从0~30依次尝试登录. 第三关:在第二关的基础上加了两层保护 1.访问第三关时会跳转到一个登录页面,必须先登录(测试帐号:username:test;password:test123). 2.登录时有一个CSRF参数. 解题思路: 1.先

xss练习闯关

https://xss.haozi.me/ 0x00 无任何限制 payload如下: <script>alert("liuxixi")</script>  0x01 先输入xxx发现就存在于<textarea></textarea>之前显示,那么我们需要把前后进行闭合,最后才会显示我们输入的内容. payload如下: </textarea><script>alert("liuxixi1")&

XSS闯关游戏准备阶段及XSS构造方法

请下载好XSS闯关文件后,解压后放在服务器的对应文件夹即可 在该闯关中,会在网页提示一个payload数值 payload,翻译过来是有效载荷 通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息,比如数据量的大小.校验位等,这样就相当于给已经分批的原始数据加一些外套,这些外套起标示作用,使得原始数据不易丢失,一批数据加上"外套"就形成了传输通道的基本传输单元,叫做数据帧或数据包,而其中的原始数据就是payload payload指

笔记-3.路径动画+小球闯关练习

教程: 让模型(如小球)沿着已有路径(如曲线)运动的方法: 按住shift,选中小球的总控再选中曲线,然后动画-运动路径-连接到运动路径-开始/结束,可以调节小球沿着曲线运动的开始和结束时间; 选中小球总控,通道盒-输入-motionPath,选中U值中键改变该值/直接输数字,可以让小球在路径上加速/减速:前/上/侧方向扭曲可以让小球按不同方向旋转,属性上点右键-为选定项设置关键帧,可以给小球的旋转运动k帧. 连接到运动路径 motionPath 让模型离开路径: 时间滑块到在小球路径运动结束那

网页闯关游戏(riddle webgame)--SQL注入的潘多拉魔盒

前言: 之前编写了一个网页闯关游戏(类似Riddle Game), 除了希望大家能够体验一下我的游戏外. 也愿意分享编写这个网页游戏过程中, 学到的一些知识. web开发初学者往往会忽视一些常见的漏洞, 比如SQL注入攻击, XSS攻击. 本文将简述SQL注入攻击的原理, 并分享下关卡设计, 其在打开潘多拉魔盒的情况下, 又能很好地限制危害. 效果展示: 先打下广告: 网页闯关游戏入口(请狠狠地点击我, ^_^). 本文的想法实施于第十一关--健忘的教授. 很直接的呈现一个登陆对话框, 考验玩家

node.js教程learnyounode 闯关答案

#node.js教程learnyounode 闯关答案 #ex1 console.log("HELLO WORLD"); #ex2 var sum =0; for(var i =2;i<process.argv.length;i+=){ sum+=parseFloat(process.argv[i]); } console.log(sum); #ex3 var fs = require('fs'); var pathname = process.argv[2]; //consol

光棍节程序员闯关秀(总共10关)

程序员闯关大挑战: https://1111.segmentfault.com/ 仓鼠演示7k7k.4399小游戏: http://cdn.abowman.com/widgets/hamster/hamster.swf 第一关 提示: 从所有信息中找到进入下一关的方法 这一关很简单,即使没有任何web知识也能轻松通过.只要你懂得晃鼠标~~ 查看源代码会发现有这么一行: <p><astyle="color: #172024"href="?k=7a2546077

关于“诗词大闯关”的调查表与调查结果分析

前言: 我们小组做的项目是“诗词大闯关”,初步计划为游戏主要内容为:根据界面场景内容猜诗词名,诗词内容. 为了更深入的了解市场人民的需求,我们小组决定制作调查问卷来统计分析玩家对我们项目的关注点以及获取更多人的需求,在短短几天的时间内得到了122份有效的调查问卷. 1.首先我们统计被调查者的年龄段 根据我们的调查结果显示:96.7%的19~38岁的人群接受了我们的调查,故大部分人应该是学生族或者上班族. 2.为了更好的去处理我们的社区模块,我们小组调查了人们经常使用的社交工具 调查显示,使用QQ

网页闯关游戏(riddle webgame)--游戏玩法和整体介绍

前言: 记得上大学那会, 有位传说中的大牛, 写了一个网页闯关类的游戏. 当时我们玩得不亦乐乎, 也是第一次接触到这种形式的游戏. 不过当时纯玩家心态, 并没有想过去创造一个. 最近想起这事, 突然想复制实现一个类似的网页闯关游戏. 说干就干, 抄起家伙, 就是一顿猛打, ^_^. 期间的坎坷曲折暂且不表, 甚至中途自觉江郎才尽差点放弃, 所幸最后终于完工, 愿意和大家一起分享该游戏. 展示: 网页闯关游戏, 更多的被称为riddle, 是一种考验搜索, 推理, 分析能力的闯关模式游戏. 用户群