在线xss练习平台
HTTPS://ALF.NU/ALERT1
这个是只要能输出alert1就算赢。
No.1
第一个就很简单了,什么都没有过滤,只需要闭合前面的标签就可以执行xss了。
1
|
");alert(1)//
|
No.2
第二个做了正则替换,只要是有’ “ ‘就替换为 ”,这个就很有意思了,有多种解题办法,因为可能没有办法闭合标签,我们就可以使用script来进行xss注入
1
|
</script><script>alert(1)<!--
|
最好的解决办法是:
1
|
");alert(1)//
|
当我们输入” 系统会变为 ” 再结合前面的 就会变成 (““) 这样就绕过了过滤达到注入效果。
No.3
这个题是通过JSON.stringify()来进行过滤,其实和上面那个差不多,可以把”过滤为”,但是没有办法过滤< > /,那么就能闭合前面的script标签来进行注入。
1
|
</script><script>alert(1)//
|
No.4
和上面那个一样,也是不能用”,但是这个值最后传递到了url中,那么我们就可以利用url编码进行注入,’编码后为%22,所以payload为:
1
|
%22);alert(1)//
|
参考链接:http://yangge.me/2017/04/28/xss-study/