0

我想了解为什么该/字符对于绕过某些正则表达式 xss 过滤器很有用。例如,让我们以最常见的攻击媒介之一为例<svg/onload=alert(1)>。谁能解释为什么使用斜杠而不是空格字符起作用的原因?从我正在研究的资源中,它说向量可以绕过这个正则表达式(on\w+\s*=),但我不明白为什么。这可能看起来是一个微不足道的问题,但我一直在四处寻找,找不到任何与根本原因有关的东西。

4

1 回答 1

0

当 RegEx 像<\w+ (on\w+\s*=.*). on我们可以看到,当关键字前有空格时,它将阻止 XSS,因此使用/将绕过此 RegEx 检查。一些 RegEx 将其视为/标签名称的一部分。好吧,这完全取决于 RegEx,但我们知道通常on事件在空格之后开始,所以大多数开发人员在事件之前假设一个空格on并相应地制作 RegEx,可以使用/.

于 2021-03-08T05:47:11.917 回答