DOM型xss跨站脚本漏洞(低危)

一.基本概念

    DOM的全称为Document Object Model,即文档对象模型,DOM通常用于代表在HTML、XHTML和XML中的对象 。使用DOM可以允许程序和脚本动态的访问和更新文档的内容、结构和样式。

    通过JavaScript可以重构整个HTML页面,而重构页面或者页面中的某个对象,JavaScript就需要知道HTML文档中所有元素的“位置”。而DOM为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。根据DOM规定,HTML文档中的每一个成分都是一个节点。

    DOM规定如下

    1.每个HTML标签是一个元素节点;

    2.包含在HTML元素中的文本是文本节点;

    3.每一个HTML属性是一个属性节点;

    4.节点与节点之间都有等级关系;

    HTML的标签都是一个个节点,而这些节点组成了DOM的整体结构:节点树,如下图所示。

二.漏洞复现

    所谓DOM型xss,指的就是服务器端处理数据阶段Document()方法的跨站脚本,实现起来也比较简单,下面是一段比较简单的DOM型xss实例。

  <script>

    var temp = document.URL;                            //获取url

    var index = document.URL.indexOf("content=")+4;

    var par = temp.substring(index);

    document.write(decodeURI(par));                //输入获取内容

 </script>

    以上代码的意思是获取URL中content参数的值,并且输出,如果输入 http://www.navi.org/dom.html?content=<script>alert(/xss/)</script>,就会产生xss漏洞。


三.漏洞威胁

    DOM型xss不像反射型xss与存储型xss一样会与后台交互,只是在服务器处理数据阶段反弹数据,因此属于低危漏洞。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容