这几天对XSS Challenges平台进行了练习,网上也有一些相应的解答博客,但是写得都差不多,我觉得可以试一下从怎么做这种题的角度出发去思考问题。

第一题:http://xss-quiz.int21h.jp/

大概意思就是弹窗内容为(document.domain);就可以通关。直接使用<script>alert(document.domain);</script>实验一下

可以看到已经通过,第一关基本就是送分题

接下来进入第二关 http://xss-quiz.int21h.jp/stage2.php?sid=106cdb0a46450efb744850a579323ac9103d907c

首先输入最简单的XSS代码实验一下,发现并没有通关,然后查看源代码

可以看到XSS所在的位置在input语句里面,闭合之前的代码"><script>alert(document.domain);</script><  就可以通关

这道题的考点就是闭合原来的语句就是:关闭当前标签然后添加脚本

第三关 http://xss-quiz.int21h.jp/stage-3.php?sid=d830eb35fde6abc802cb930e5ba1b2adaaf6680d

直接使用<script>alert(document.domain)</script>试验一下,发现没有成功,输入框位置使用的name="p1"代替

用burp抓个包看一下

可以看到p1的内容,输入的字符被转义了,修改p1为<script>alert(document.domain)</script>尝试绕过试过一下

发现并不行,但p1后面还有一个p2,修改p2的内容为<script>alert(document.domain);</script>实验一下

这次可以通过了,这道题p1输入的内容被转义了,但是p2的内容没有做校验,可以抓包修改数据包进行攻击

第四题 http://xss-quiz.int21h.jp/stage_4.php?sid=9fb2ab3ae196c1fb05d9157d3d5f6c91b2b4398c

首先还是直接输入<script>alert(document.domain);</script>看一下,发现没有成功

查看源代码,发现这道题和刚刚第三题的情况很相似,抓个包在看看

数据包中数据,也是大同小异,但这次多了一个p3比较可疑,但还是得一步一步来,几次尝试,发现修改p1参数被转义了,p2的值修改之后又会恢复成Japan,都是没有效果。然后尝试修改p3的值

提交之后发现并没有什么用

这时查看一下源代码

可以看到p3修改的值没有转义,可以进一步利用,但是能不能执行还不知道,因为此时我们需要将标签闭合

我是直接在这里修改的看着没啥问题之后,再抓包修改p3的值尝试一下

这样第四关就过了,这一关看起来和第三关形式比较像,然后我先按照第三关的模式试了一下,发现p1被转义,p2修改不了,p3可以修改又没有被转义,查看源代码之后结合第二关的思路开始进行的尝试。

第五关 http://xss-quiz.int21h.jp/stage--5.php?sid=2d4972900f3da3e4e8dd3bb442c5e59402ede268

首先还是直接输入<script>alert(document.domain)</script>尝试一下,发现没有成功,然后查看一波源代码进行分析

可以看到输入的内容并没有被转义,所以说还是有机会的,但是添加了检验maxlength="15",这时我首先想到的是使用burp进行绕过。水平有限,所以我先利用源代码编辑一下绕过的语句,看着没问题了直接贴到burp就行了

发现可以通过了,这一关还是挺简单的,考点应该就是绕过校验,还有闭合标签

第六题 http://xss-quiz.int21h.jp/stage-no6.php?sid=60b74c922558e644330a8769788ef25dae80d8e0

首先输入<script>alert(document.domain)</script>尝试一下,然后查看一下源代码

然后我决定先闭合标签试一下

然后和之前比较了一下,发现"<" ,">"是这两个标签被转义了,尝试绕过试一下

没办法绕过,不能使用<>但是可以构造" onmouseover="alert(document.domain)攻击

第七题 http://xss-quiz.int21h.jp/stage07.php?sid=c702ac5f967df2831c3920c1aa3100af0b3e5aa8

还是不能成功,然后试了一下先闭合标签绕过也没啥用,使用" onmouseover="alert(document.domain)时,发现输入的信息被截断了

这道题有点懵,查看了一波网上的教程,说是"被过滤了,然后我试了一下

实验了一下觉得应该是 "空格 之后的内容被截断了,这道题可以使用可以使用test onmouseover=alert(document.domain)  空格符分割进行

第八题 http://xss-quiz.int21h.jp/stage008.php?sid=b23793aaeaad16b5faa949a246a1316e9cf24917

第八题主要考察的是在a标签的使用。伪协议不同于因特网上所真实存在的协议,如http://,https://,ftp://,

而是为关联应用程序而使用的.如:tencent://(关联QQ),data:(用base64编码来在浏览器端输出二进制文件),还有就是javascript:

可以在Chrome浏览器输入"javascript:alert("XSS");"实验一下,实际上是把javascript:后面的代码当JavaScript来执行,并将结果值返回给当前页面。

然后回到这道题,题目是输入一个URL,直接提交javascript:alert(document.domain),点击下面的链接就可以过关了

第九题 http://xss-quiz.int21h.jp/stage_09.php?sid=7e3613202c0e7cc4ed129d4c60b98dbe887aa456

这个好像得用IE 7 环境加上UTF7编码才行,有时间搭起环境再试一下吧,暂时先跳过了

第十题 http://xss-quiz.int21h.jp/stage00010.php?sid=b86e436416bd0ed72ba8e07ffd237471e7bd006d

输入<script>alert(document.domain);</script>,确定,发现domain,被过滤了

这个时候用双写domain、或者大小写都可以绕过,但是大小写不符合这道题的要求,所以使用双写再加上闭合标签就可以通过

"><script>alert(document.dodomainmain);</script><

XSS Challenges 练习(1-10)的更多相关文章

  1. XSS Challenges(1-12关)

    XSS Challenges解析: 1. 什么过滤也没有,而且是直接输出.<scrip>alert(document.domain);</script>即可通过 2. 直接输入 ...

  2. XSS练习平台-XSS Challenges

    XSS Challenges http://xss-quiz.int21h.jp/   XSS基础不好的建议优先查看 关于XSS中使用到的html编码 js编码各种场景用法 http://su.xmd ...

  3. XSS Challenges学习笔记 Stage#1~ Stage#19

    开门见山 Stage #1 http://xss-quiz.int21h.jp/?sid=2a75ff06e0147586b7ceb0fe68ee443b86a6e7b9 这一道题发现我们写入的内容直 ...

  4. XSS Challenges闯关笔记

    前言 做xss做疯了再来一个. 地址:https://xss-quiz.int21h.jp/ ,这个貌似是日本的一个安全研究员yamagata21做的. 做到第九关就跪了,而总共有二十关.一半都还没有 ...

  5. XSS Challenges xss-quiz.int21h.jp

    概述: https://xss-quiz.int21h.jp/ Stage #1 payload: <script>alert(document.domain);</script&g ...

  6. XSS Challenges

    平台: http://www.zixem.altervista.org/XSS/ level1: Payload: http://www.zixem.altervista.org/XSS/1.php? ...

  7. XSS Challenges练习及解答

    一个偶然的机会在知道创宇的技能表里看到了一个练习XSS的网站http://xss-quiz.int21h.jp,正好想研究这个,于是试着做了一下. 第一.二题是最简单的,直接在搜索框中输入以下代码就成 ...

  8. xss challenges平台学习

    虽然在很早之前就接触过xss,有一段时间还就着一本书研究过,但是始终没有实感,掌握的也不够系统,所以现在借着这几个平台再学习一遍 首先来玩一玩xss challenge平台 第一关:http://xs ...

  9. XSS challenges 1-10

    学长发的xss靶场,刚好js学完了,上手整活. 这个提示说非常简单,直接插入就完事了 <script>alert(document.domain)</script> 第二关. ...

随机推荐

  1. Linux下c语言TCP多线程聊天室

    开发环境:Linux,GCC 相关知识:TCP(博客:传送门),线程 附加:项目可能还有写不足之处,有些bug没调出来(如:对在线人数的控制),希望大佬赐教. 那么话不多说,放码过来: 码云:传送门, ...

  2. Docker 制作定制asp.netcore 的容器

    上文Windows docker k8s asp.net core的k8swebap镜像只是一个asp.net core程序,在实际生产中我们希望容器中还有一些其他程序,比如ssh 和telegraf ...

  3. Google大数据三篇著名论文中文版

    Google File System中文版 Google MapReduce中文版 Google Bigtable中文版

  4. SpringBoot引入第三方jar包或本地jar包的处理方式

    在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 第一种是将本地jar包安装在本地maven库 第二种是将本地ja ...

  5. c#读取appsetting.json配置文件

    asp.net core 取消了web.config配置文件,而将appsetting.json作为了配置文件. 那么,怎么读取相关数据呢?这里我在appsetting.json中添加一些信息 第一种 ...

  6. C#基础语法,快速上収C#

    C#代码基础语法 对新手的帮助很大,可以尝试多看看然后在敲敲 // 单行注释以 // 开始 /* 多行注释是这样的 */ /// <summary> /// XML文档注释 /// < ...

  7. mvc_第一遍_业务逻辑层和模型

    常用的动态网页对象: 之前我们提到了,使用request对象可以获得和用户请求相关的一系列信息.这一节,我们来看看另外两个常用对象的常规用途. response对象:用于向客户回应.最常用的用法类似于 ...

  8. Throwable中几个常见方法。

    getMessage();//获取异常信息,返回字符串.例如: toString();//获取异常类名和异常信息,返回字符串.例如: printStackTrace();//获取异常类名和异常信息,以 ...

  9. python基础03day

    # 1. # 创建字符串变量的三种写法及其区别 # 代码: #‘’.“”.“““””” # 区别: # 2. # 简述,计算机编程语言的分类及特点 # 1.机器 # 2.汇编 # 3.高级 # 3.1 ...

  10. IT之快速提高效率的方法与思考

    前言 文章也没什么很高深的问题,大概花个5分钟能看完.是一些大家都知道的道理,作为提醒与总结. 关于提高方面的内容,一般都有个人的方法,但大致都一致.可分为几个步骤. 框架.工具使用相关 使用框架.工 ...