Web 安全 - XSS
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 的库。