【发布时间】:2011-07-30 05:55:33
【问题描述】:
我知道 XSS 攻击者使用文本框将脚本注入页面。我想知道是否可以在表单中的 span、p、label 元素上使用脚本,并将其注入页面。我们是否应该尝试通过标签来防止这种攻击?
【问题讨论】:
-
XSS 可能在 HTML 页面中任何地方。
我知道 XSS 攻击者使用文本框将脚本注入页面。我想知道是否可以在表单中的 span、p、label 元素上使用脚本,并将其注入页面。我们是否应该尝试通过标签来防止这种攻击?
【问题讨论】:
您需要记住的是,XSS 漏洞发生的原因是不受信任、未经验证和未经转义的数据在网页的任何位置呈现。这包括在 JavaScript、CSS 和 HTML 正文中的任何地方。
如果您通过简单地设置属性来生成完整的 HTML 元素并不重要,因为 XSS 很容易脱离要在其中呈现的标签并插入自己的标记。
【讨论】:
任何 HTML 元素都容易受到 XSS 攻击,尤其是如果您从用户输入动态生成 HTML 元素。
【讨论】:
旁注:如果您使用的是 UI 库,重要的是要知道您传递给 UI 组件的用户输入是呈现为 HTML 还是纯文本 - 因为您只需要转义传递的用户输入到实际将输入呈现为 HTML 的组件。
【讨论】: