DOM是什么?
DOM:文档对象模型(Document Object Model),是用于HTML 和 XML 文档的API。DOM提供了文档的结构化表现,允许你修改文档的内容和视觉表现。本质上,它把网页和脚本或编程语言连接了起来。 DOM用来表示浏览器上的整个文档对象及其层次结构。DOM中的所有节点可以使用JavaScript脚本使用。DOM模型使得页面层次结构能够动态的变化。 DOM、XML、JavaScript和CSS在AJAX中的综合应用:JavaScript使用XMLHttpRequest从服务器端获取所需要的信息,数据传递是XML格式的,通过DOM和CSS结合可以实现局部的刷新。
XSS脚本跨站脚本漏洞包括:反射型XSS、存储型XSS、DOM型XSS。
反射型(非持久性):当用户访问一个带有XSS代码的URL请求时,服务器端接收数据后处理,然后把带有XSS代码的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,最终造成XSS漏洞。
存储型(持久性):攻击流程是正常服务器信息,服务器存储恶意代码,用户浏览网页,服务器将恶意代码返回给用户,客户端浏览器执行恶意代码。
DOM型:是基于DOM文档对象模型的一种漏洞,所以,受客户端浏览器的脚本代码所影响(利用方式与反射型一样),DOM XSS取决于输出位置,并不取决于输出环境,因此也可以说DOM XSS既有可能是反射型的,也有可能是存储型的,简单去理解就是因为他输出点在DOM。
XSS漏洞的检测
1、手工检测
手工检测重点要考虑数据输入的地方,且需要清楚输入的数据输出到什么地方。在检测的开始,可以输入一些敏感字符,比如“<、>、()”等,提交后查看网页源代码的变化以发现输入被输出到什么地方,且可以发现相关敏感字符是否被过滤。手工检测结果相对准确,但效率较低。
2、工具检测
常用工具有AVWS(Acunetix Web Vulnerability Scanner)、BurpSuite等。还有一些专门针对XSS漏洞的检测工具,如:XSSer、XSSF(跨站脚本攻击框架)、BeEF(The Browser Exploitation Framework)等。
0条评论