为什么我们不能拥有一些AntiXss Literal html标签

时间:2012-01-01 07:24:40

标签: html xss security

现在我正在学习Web安全性,XSS等。由于XSS基本上是通过注入一些恶意代码来定位客户端代理(Web浏览器),这些恶意代码是由经过身份验证的用户插入的Web浏览器执行的。现在的问题是为什么我们不能在html中显示只显示文字的标记并阻止其中的任何内容的执行?

类似的东西:

<!-- The code below will not be executed and just treated as literal content by a web browser -->

<ltrl>
<script type="text/javascript">alert('You have been xssed');</script>
</ltrl>

所以,如果我在html中有这样的东西,那么它显示为

<script type="text/javascript">alert('You have been xssed');</script>

在网络浏览器中。

1 个答案:

答案 0 :(得分:8)

假设攻击者提供的文本内容为:

</ltrl>
<script type="text/javascript">alert('You have been xssed');</script>
<ltrl>

总标记为

<ltrl>
</ltrl>
<script type="text/javascript">alert('You have been xssed');</script>
<ltrl>
</ltrl>

并且你的防守被轻易破坏了。