web安全与性能优化

Web安全之 XSS 攻击与防御(附 github 示例)

2017-05-06  本文已影响158人  卿可津

(本文演示 github:https://github.com/zphhhhh/node-secure

什么是 XSS 攻击?

XSS 全称 Cross-Site Scripting,可译为:跨站脚本攻击,由于 CSS 已被占用,因此简称 XSS。

一句话理解 XSS:不可信内容经处理后被当做可信内容再渲染。

XSS 攻击的种类

XSS 攻击可细分为 反射型 XSS、持久型 XSS、DOM XSS,前两种针对服务器,后一种针对客户端。

XSS 攻击的种类.png

反射型 XSS

不可信内容提交到服务器,立即在响应中被返回。

比如:有一个登陆页面需要输入用户名,提交后会显示 “你好,XXX”,这里的 XXX 即有可能存在反射型 XSS 攻击漏洞。

反射型 XSS.png

持久型 XSS

不可信内容提交到服务器,被保存到服务器数据库,下次需要时被当做可信内容被返回。

比如:恶意代码写入个人资料页,所有访问我的资料的朋友都会遭到攻击

持久型 XSS.png

DOM XSS

不可信内容被插入到页面DOM节点。

比如:网络劫持(使用数据流量访问网页时出现的网络服务商链接)

DOM XSS.png 百度首页被运营商植入 DOM XSS.png

XSS 攻击的常见攻击效果

防御 XSS

为防御 XSS,我们首先要知道 XSS 攻击的本质是不安全的
HTML 注入,可通过在 HTML、CSS、JS 或 HTTP 协议层次上进行防范。下面提供一些常用的防御策略:

参考:
《白帽子讲 Web 安全》

上一篇下一篇

猜你喜欢

热点阅读