在线靶场(http://xss.fbisb.com)

w

第一关

get请求,没有什么过滤,直接上<script>alert()</script>

源码:

第二关

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

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

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

源码

htmlspecialchars()函数是使用来把一些预定义的字符转换为HTML实体

被转换的预定义的字符有:

&:转换为&amp; ":转换为&quot;':转换为成为 '<:转换为&lt;>:转换为&gt;

第三关

和第二个差不多,直接上"><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)的更多相关文章

  1. Xss Game挑战

    前言 最新学习了下xss的更深入的东西,学习了一波浏览器解析机制和XSS向量编码的知识. 这里就些xss的练习题巩固知识 学习的话结合如下两篇文章看,从例子和基础原理层面都有: http://boba ...

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

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

  3. Wordpress搭建社交型小游戏网站10大步骤

    http://www.aliyun.com/zixun/content/2_8_196141.html ———————————————————————————————————————————————— ...

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

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

  5. 先定一个小目标:10天自学C语言编程,教你如何改变一生

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  6. 《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。

    import java.util.ArrayList; import java.util.Random; /* * 获取10个[1-20之间]的随机数,要求不能重复.(注意:不是获取10个数,如果单纯 ...

  7. 探秘小程序(10):分享功能+webview

    场景: 小程序页面用webview嵌入了h5页面,h5页面需要与小程序进行交互,h5页面内容不同,分享的链接也不一样 分享功能: 小程序的分享功能即用户点击小程序右上角,转发功能页面.可以指定分享卡片 ...

  8. 趣味CSS3效果挑战小汇总

    众所周知,在CSS3中产生了诸多优秀的特性,现在就来分享一下我这段时间对于这些特性的效果实践,希望对大家有所启发. 挑战1: 画一个对话框 要画一个对话框,首先来学习做一个三角形.其实非常的简单. & ...

  9. 第九届极客大挑战——小帅的广告(二阶sql注入)

    也是经过一通扫描和测试,没发现其他有用信息,感觉这是个sql注入.其实对于二阶sql注入我以前没实践过,也没看过资料,只是知道这个名字,但不知道为何看到这道题就让我回想起了这个名词,所以查了一下二阶s ...

随机推荐

  1. maplotlib画柱状图并添加标签

    import json from collections import Counter import matplotlib.pyplot as plt import matplotlib as mpl ...

  2. python 错误、调试、单元测试、文档测试

    错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入.从网络爬取东西的时候,网络断了.这类错误称为异常 错误处理 参考链接:https:// ...

  3. Yapi接口管理平台 本地部署 windows环境 -

    YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只 ...

  4. string 字符串 的一些使用方法

    Java语言中,把字符串作为对象来处理,类String就可以用来表示字符串(类名首字母都是大写的). 字符串常量是用双引号括住的一串字符. 例如:"Hello World" Str ...

  5. MySQL5.7增量备份恢复全实战

    一. 简介 1. 增量备份 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味着,第一次增量 备份的对象是进行全备后所产生的增加和修改的文件; ...

  6. 进程调度算法spf,fpf,时间片轮转算法实现

    调度的基本概念:从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行. 进程信息 struct node { string name;//进程名称 int id;//进程 ...

  7. maven 学习---将项目安装到Maven本地资源库

    在Maven中,可以使用“mvn install”打包项目,并自动部署到本地资源库,让其他开发人员使用它. mvn install 注意,当“install”在执行阶段,上述所有阶段 “validat ...

  8. jetbrains 系列编辑器

    下载 webstorm下载地址:https://www.jetbrains.com/webstorm/download/previous.html idea下载地址:https://www.jetbr ...

  9. 2.4 Scala函数式编程

    一.函数定义与使用 1.函数的定义 2.匿名函数 举例: Scala自动推断变量类型,不用声明: 一个下划线只能表示这一个参数的一次出现 二.高阶函数 定义:函数定义的括号里仍然是个函数的函数,叫作高 ...

  10. Tools分类随笔链接整理贴(不定期更新)

    1.编程开发工具 Vs2012安装介绍   https://www.cnblogs.com/fzxiaoyi/p/12041854.html Vs2012帮助文档安装介绍  https://www.c ...