xss之挑战小靶场(1-10)
在线靶场(http://xss.fbisb.com)
w
第一关
get请求,没有什么过滤,直接上<script>alert()</script>

源码:

第二关
输入参数会显示在文本框,直接看页面源码

发现对输入的参数<>进行了HTML实体化导致不能执行js,但是输入参数会显示在文本框并且没有经过处理

进行对input标签的闭合,使输入的js代码执行

源码
htmlspecialchars()函数是使用来把一些预定义的字符转换为HTML实体
被转换的预定义的字符有:
&:转换为& ":转换为"':转换为成为 '<:转换为<>:转换为>

第三关
和第二个差不多,直接上"><script>alert()</script>,但是发现没有像上一关一样

查看页面源码发现input文本框的值也被实体化了,注意这一关使用的是单引号

这时候该是考虑为协议的时候到了,onclick 当点击按钮时执行一段 JavaScript

不错,成功,输入成功文本框是空的。当我们点击他就会执行js代码
源码

第四关
输入敏感字体发现<>不见了,直接看页面源码

可以看到<>被过滤了,但是我们还有onclick,注意双引号了,这二货

完美

源码

第5关
上面是我输入的直接实体化,不用想了,拿来看还是不错的,文本框是服务器处理后的可以发现script被替换了,直接查源码

可以看出,script ,onclick 等都被替换了,不过<>"都没有,这个可以利用<a>标签

直接构造代码,注意闭合input,变成"><a href=javascript:alert()>123</a>,页面重新超链接,点击就会调用我们的js了

源码

第六关
经过前面的做题,我发现太慢了,直接在空格输入敏感词,这样方便多了,这不把我可爱的href也也替换了

我瞬间又想到了<img>,谁知道,又把src替换了


居然你有规则知道我输入非法参数,那我就试试绕过你的规则,大小写,复写,编码,这一题,复现肯定不合适,所有大小写咯,

源码

第七题
把我可爱的script替换了,这不这一天复现的机会来了

不错,

源码

第八关
输入敏感词,没反应直接看页面源码

也是script被替换了,试过大小写不行,那么只能是编码

把其中的p转换成16进制,
xss之挑战小靶场(1-10)的更多相关文章
- Xss Game挑战
前言 最新学习了下xss的更深入的东西,学习了一波浏览器解析机制和XSS向量编码的知识. 这里就些xss的练习题巩固知识 学习的话结合如下两篇文章看,从例子和基础原理层面都有: http://boba ...
- xss games20关小游戏附源代码
1. get方式的的值直接输出来了. ?name=<script>alert(1)</script> 2. 同样没有过滤,不过需要闭合前边的双引号和>. "&g ...
- Wordpress搭建社交型小游戏网站10大步骤
http://www.aliyun.com/zixun/content/2_8_196141.html ———————————————————————————————————————————————— ...
- 【CTF】某xss练手小游戏
http://test.xss.tv 1.http://47.94.13.75/test/level1.php?name=test 直接插入即可,如: http://47.94.13.75/test/ ...
- 先定一个小目标:10天自学C语言编程,教你如何改变一生
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- 《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。
import java.util.ArrayList; import java.util.Random; /* * 获取10个[1-20之间]的随机数,要求不能重复.(注意:不是获取10个数,如果单纯 ...
- 探秘小程序(10):分享功能+webview
场景: 小程序页面用webview嵌入了h5页面,h5页面需要与小程序进行交互,h5页面内容不同,分享的链接也不一样 分享功能: 小程序的分享功能即用户点击小程序右上角,转发功能页面.可以指定分享卡片 ...
- 趣味CSS3效果挑战小汇总
众所周知,在CSS3中产生了诸多优秀的特性,现在就来分享一下我这段时间对于这些特性的效果实践,希望对大家有所启发. 挑战1: 画一个对话框 要画一个对话框,首先来学习做一个三角形.其实非常的简单. & ...
- 第九届极客大挑战——小帅的广告(二阶sql注入)
也是经过一通扫描和测试,没发现其他有用信息,感觉这是个sql注入.其实对于二阶sql注入我以前没实践过,也没看过资料,只是知道这个名字,但不知道为何看到这道题就让我回想起了这个名词,所以查了一下二阶s ...
随机推荐
- 基于OpenCV.Net连通域分析进行文本块分割
上一次通过投影的方式进行了文本块分割,(见 https://www.cnblogs.com/BoyTNT/p/11812323.html )但这种方法有很大的局限性,要求分行清晰.不能有字符跨多行.不 ...
- JDK1.8新特性——Stream API
JDK1.8新特性——Stream API 摘要:本文主要学习了JDK1.8的新特性中有关Stream API的使用. 部分内容来自以下博客: https://blog.csdn.net/icarus ...
- Flask-Cookies和Session
目录 cookies session save_session的参数 session源码执行流程 请求第一次过来时 请求第二次进来 SecureCookieSession 签名算法 session的生 ...
- MAC bash和zsh切换
bash和zsh切换 切换到bash chsh -s /bin/bash 切换到zsh chsh -s /bin/zsh 记得输入切换命令后,要重新打开终端terminal才生效哦!大功告成!
- 小鸟初学Shell编程(四)管道符
管道作用 管道实际上就是进程之间的一个通信工具,那么用在Linux命令中主要是方便两条命令互相之间可以相互通信. 管道符 管道符(匿名管道)是Shell编程经常用到的通信工具. 管道符是"| ...
- getopt、getopt_long命令参数
参数 optstring为选项字符串.如果选项字符串里的字母后接着冒号":",则表示还有相关的参数 getopt int getopt(int argc, char * const ...
- 修改源代码时不需要重启tomcat服务器
我们在写JSP + Servlet 的时修改了Java代码就要重新启动服务器.十分麻烦. 为了解决这个问题我们可以将服务器改成debug 模式.就是按调试状态这样修改Java代码就不用再重新启动服务器 ...
- flink Periodic Watermarks 自定义周期性水印
1.BoundedOutOfOrdernessGenerator /** * This generator generates watermarks assuming that elements ar ...
- anaconda配置清华大学开源软件镜像
配置镜像在anaconda安装好之后,默认的镜像是官方的,由于官网的镜像在境外,使用国内的镜像能够加快访问的速度.这里选择了清华的的镜像.镜像的地址如下:tuna.Anaconda 安装包可以到 ht ...
- long类型在内存中占8个字节,float类型在内存中占4个字节,为什么long还要比float小呢?
结论:数值范围大小和占用的字节没有关系. float类型的范围: 负数:-3.402823E38~-1.401298E-45 整数:0 正数:1.401298E-45~3.402823E38 long ...