XSS 可用于盗用 cookie,盗取敏感信息,破坏正常页面结构,插入内容。

XSS 可通过 adobe flash 来进行。

XSS 可用于 DDOS。

XSS 可分为反射式和存储式。

反射式:XSS 代码出现在 URL 中,例如 ISP 在 HTTP 协议的网页中插入广告。

存储式:XSS 代码储存在服务端,访问无需提交 XSS 代码。

XSS 防御措施:编码、过滤、校正。

编码:对用户输入的数据进行 HTML Entity 编码。

过滤:移除用户上传的 DOM 属性,如 onerror 等。移除用户上传的 Style 节点、Script 节点、Iframe 节点。

校正:避免直接对 HTML Entity 编码。使用 DOM Parse 转换,校正不配对的 DOM 标签。

在前端对 DOM 的过滤可以使用名为 htmlparse 和 he 的库。