是否可以在html标记之间进行xss攻击,而<和>编码

时间:2016-03-22 18:53:57

标签: security web xss

html标记之间是否可以进行xss攻击,而<和>编码? 例如:

<tag>{{output}}</tag>

如果&#34;&lt;&#34;,&#34;&gt;&#34; in {{output}}被编码为&#34;&amp; lt;&#34;,&#34;&amp; gt;&#34;和<tag>不能<script>,可以xss发生了吗?

1 个答案:

答案 0 :(得分:3)

首先,需要说手动实现自己的XSS过滤器几乎总是一个糟糕的主意。

它们通常很容易被规避,特别是通过编码有效负载(例如,<可以将URL编码为%60等)。尽可能使用平台提供的本机转义功能更安全(也更可取)。例如,PHP中为htmlspecialchars,Python中为html.escape,依此类推。

在您的具体示例中,<>无法使用XSS,因为您的输出是在标记之间插入而在 之间插入例如在属性值中)。在其他情况下,您的原始过滤器无法防范XSS:

<img src="{{output}}">

插入值" onerror="alert(1)将导致此XSS:

<img src="" onerror="alert(1)">

如果您能提供帮助,请不要实施自己的过滤器。以下是一些OWASP文档: