有人在 Twitter 上发布(不确定我是否可以在这里链接)Imperva Web 应用程序防火墙的跨站点脚本绕过。如下所示:
<a/href="j%0A%0Davascript:{var{3:s,2:h,5:a,0:v,4:n,1:e}='earltv'}[self][0][v+a+e+s](e+s+v+h+n)(/infected/.source)" />click
%0A%0 解码为新行。一个可点击的链接被创建到给定的 URI。但是所有 3:s 和 v+a+e 等都完全让我无法理解。我已经尝试在反射、存储和 DOM XSS 中使用它并获得混合结果。实际上,在某些情况下,Imperva WAF 无法检测到它,但在某些情况下会检测到,而且在许多情况下,它根本不会产生可点击的链接。此时的问题是我不完全理解 javascript 代码。任何帮助表示赞赏。