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

标签 html xss security

现在我正在学习网络安全、XSS 等。因为 XSS 基本上是通过注入(inject)一些恶意代码来针对客户端代理(网络浏览器),这些恶意代码由经过身份验证的用户插入时由网络浏览器执行。现在的问题是为什么我们不能在 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>

在网络浏览器中。

最佳答案

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

</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>

并且你的防御被轻而易举地突破了。

关于html - 为什么我们不能有一些 AntiXss Literal html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692252/

相关文章:

html - 在进度条背景上居中进度值

html - Tumblr 页面上无法解释的逗号

php - 如何将源 html 附加到 PHP 中的 DOMElement?

javascript - 每个列表列的最后一项的样式不同

security - 将密码存储在Web应用程序源代码中是否安全?

security - XSS攻击是否有可能获取HttpOnly cookie?

javascript - 禁用 JavaScript 时的 XSS 利用

html - 在不受信任的文本中安全地呈现超链接

c# - MVC 5 - 缓解 BREACH 漏洞

php - 将 "require"与 GET/POST 数据一起使用是否安全?