极客大挑战-babyxss

baby_xss

题目源码:

<script>
function check(input){input = input.replace(/alert/,'');return '<script>console.log("'+input+'");</script>';}
</script>

image-20211030110819909

要求在输入语句引发alert(1),由源码可知alert字符被过滤了,因此采用双写绕过alealertrt(1)

image-20211030111043896

仍然没有引发alert(1)。检查发现console.log中多了一对单引号,导致命令没有执行,因此构造payload如下:

'"+alealertrt(1)+"'

闭合两边的单引号

成功!

image-20211030111410768

flag:Syc{W4lc0me_t0_the_w0rld_0f_x3s.}

posted @ 2021-11-23 09:49  sherlson  阅读(300)  评论(0编辑  收藏  举报