现在我正在学习网络安全、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/