逃避<和>是否足以阻止XSS攻击?

M. *_*lic 13 javascript asp.net xss

我敢肯定的是,这个问题的答案是没有,但我似乎无法找到一种方法,简单地转换<,并>&lt;&gt;不完全块反映和持久性XSS.

我不是在谈论CSRF.

如果这不能阻止XSS,你能提供一个如何绕过这种防御的例子吗?

Thi*_*ter 7

在属性(引用时")中使用不受信任的字符串时,您需要转义"&quot.

否则你可以轻松注入javascript.例如,<a href="{{str}}">str,例如," onmouseover='something-evil'".


pri*_*srb 5

号这里有几个例子逃离那里<,>,',"&是不够的:

例1:

<a href="{{myUrl}}">
Run Code Online (Sandbox Code Playgroud)

XSS攻击:

myUrl = "javascript:alert(1)"
Run Code Online (Sandbox Code Playgroud)

例2:

<script>var page = {{myVar}};</script>
Run Code Online (Sandbox Code Playgroud)

XSS攻击:

myVar = "1;alert(1)"
Run Code Online (Sandbox Code Playgroud)

有关防止这些攻击的方法,请参阅https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet.