XSS基础
- XSS介绍
跨站脚本简称XSS,跨站脚本或跨站脚本攻击,是一种针对网站应用的安全漏洞应用攻击技术,是代码注入的一种,他允许恶意用户将代码注入网页,其他用户浏览此网页就会受到影响
XSS攻击分为三种: 反射型,存储型和DOM型
- XSS原理
- 反射型XSS
反射型XSS又称非持久性XSS,这种攻击方式具有一次性
攻击方式:
通过电子邮件将包含XSS代码的恶意链接发送给目标用户,当目标用户访问该链接时服务器接收该目标的用户的请求并进行处理,然后服务器把带有XSS代码的数据发送给目标用户,浏览器解析带有XSS漏洞的脚本后,就会触发XSS漏洞
-
- 存储型XSS
存储型XSS又称持久型XSS,攻击脚本将会永久放在目标服务器的数据库或文件中,具有高隐蔽性
攻击方式:
多见于论坛,留言板,博客,攻击者在发帖过程中,将恶意脚本和正常信息一起注入帖子的内容中,随着帖子被服务器存储下来,恶意脚本也被永久的存储在服务器,当用户浏览时,恶意脚本会在他们的浏览器中执行
-
- DOM型XSS
DOM型XSS其实就是一种特殊类型的反射型XSS,他是基于DOM文档对象模型的一种漏洞,基于DOM型XSS不需要与服务器交互,只发生在客户端处理数据的阶段
DOM:全称Document Object Model,可以使程序和脚本能动态访问和更新文档的内容
攻击方式:
用户请求一个包含XSS代码的URL,服务器不会响应攻击脚本,但用户浏览器处理这个响应时,DOM对象就会处理XSS代码,导致XSS漏洞
- XSS常用测试语句
- <script>alert(1)</script>
- <img src=x οnerrοr=alert(1)>
- <svg οnerrοr=alert(1)>
- <a href=javascript:alert(1)>
- XSS修复建议
- 过滤输入数据(’ ” < > on* 等非法字符)
- 对输出到页面的数据进行编码转换