XSS(跨站脚本攻击——Cross-site scripting)
表现形式: 攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页的时候,对用户浏览器进行控制或者获取用户隐私数据的一种攻击方式。
1、恶意脚本分类:
表现步骤:
注入恶意的脚本例如js,html等将一些隐私的数据像cookie、session发送给攻击者,将受害者重定向到一个有攻击者控制的网站,在受害者的机器上进行一些恶意操作
-
反射性(非持久型)
当浏览器进行请求的时候,注入恶意代码到服务器上,将一些内容,例如密码,用户名等等以铭文的方式返回。
-
存储型(持久型)
当浏览器进行请求时,注入恶意代码,将信息同步更新到服务库内保存,下次请求出来的时候,会带着被插入的数据,影响面比较广
-
基于Dom
当浏览器从服务器获取数据的时候,注入恶意代码,添加html代码,更改页面的展示
2、防御措施
-
输入过滤
对请求和返回的数据进行格式、长度等一律进行验证过滤 -
输出转义
-
使用httpOnly cookie请求头,锁死
将重要的cookie标记为httpOnly,这样的话,浏览器像wen服务器发送请求的时候就会带着cookie的字段,但是在js脚本就不能访问这个cookie,也就是避免了xss攻击利用js的doucument.cookie获取cookie