这两天对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)时,发现输入的信息被截断了
这道题有点懵,查看了一波网上的教程,说是"被过滤了,然后我试了一下
我觉得应该是 "空格 之后的内容被截断了,而直接使用
原文:https://www.cnblogs.com/hai-long/p/10924120.html