XSS跨站脚本注入。允许恶意用户将代码注入网页。
1.反射型:
一次性。攻击者通过电子邮件等方式将包含XSS代码的恶意链接发送给目标用户。当用户访问该链接时,服务器接收该目标该用户的请求进行处理,然后服务器把带有XSS代码的数据发送给目标用户的浏览器,浏览器解析这段XSS代码后,触发XSS。
2.存储型
持久型XSS,攻击脚本将永久存放在目标服务器的数据库或文件中,焗油很高的隐蔽性。通常在论坛、博客、留言板。
3.DOM型
DOM可以使程序和脚本能够动态访问和更新文档内容、结构及样式。
DOM型XSS是一种特殊类型的反射型XSS,是基于DOM文档对象模型的一种漏洞。
XSS绕过
1.JS编码
2.HTML实体编码
命名实体:以&开头,以分号结尾,如"<“的编码是”<"
字符编码:十进制、十六进制ASCII或Unicode字符编码,样式为“&#数值;”,如“<”的编码是"<“和”<"
3.URL编码
两次URL编码
XSS修补建议
1.过滤输入的数据,‘ “ < > on 等非法字符
2.对输出到页面的数据进行对于的编码转换,包含HTML实体编码、javascript编码等。