一、概念
xss是一种在客户端利用JavaScript脚本获取敏感信息的攻击行为。
二、分类
可以分为存储型XSS、反射型XSS、DOM型XSS。
1、存储型XSS
攻击脚本能够永久存储在目标服务器数据库或者文件中,多见于论坛、博客等web站点。任何用户、任何时间都可能会受到XSS攻击,影响面积最广,危害性也最大。
2、反射型XSS
反射型XSS是一种非持久型的XSS,攻击脚本一般是跟随者某个特定的URL链接发送给受害者。这种攻击仅对接收链接的单个目标有效。
DOM型XSS
DOM型XSS在注入代码时,利用JavaScript在页面中生成自己的DOM对象,而不是利用原有文档中的DOM对象。
三、分类
1、寻找带有XSS漏洞的web程序,注入到XSS脚本。
2、设置用户敏感数据的接收程序。
3、受害者访问web程序页面,XSS脚本被浏览器解析执行,敏感信息被盗。
4、攻击者盗取的敏感信息进行其他攻击。
四、防御方法
1、主动防御
可以对用户输入的字符进行过滤。
常用的过滤函数有:
2、被动防御技术
在服务器端动态脚本中,设置HttpOnly属性,JavaScript就不能读取浏览器的cookie数据了,可以保障Cookie信息的安全。