关于DOM型XSS

作者: 换个名字消消毒 | 来源:发表于2017-11-27 21:27 被阅读0次

学号:16030140019

姓名:   莫益彰

【嵌牛导读】:DOM,全称Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式。

【嵌牛鼻子】信息安全,dom

【嵌牛提问】:为什么要注意DOM型XSS漏洞?DOM-based XSS 与存储性 XSS、反射型 XSS 有什么区别?

【嵌牛正文】

先以一张w3c的图来说明,到底什么是dom:

dom就是一个树状的模型,你可以编写Javascript代码根据dom一层一层的节点,去遍历/获取/修改对应的节点,对象,值。了解了这么一个知识点,你就会发现,其实dom xss并不复杂,他也属于反射型xss的一种(domxss取决于输出位置,并不取决于输出环境,因此domxss既有可能是反射型的,也有可能是存储型的),简单去理解就是因为他输出点在DOM。dom - xss是通过url传入参数去控制触发的)分析完dom-xss之后,再说说存储型xss,其实也很好理解,存储型xss,自然就是存入了数据库,再取出来,导致的xss。3,)反射型xss实际上是包括了dom - xss了,关键点仍然是在通过url控制了页面的输出(dom-xss也类似,只因为输出地点不同而导致结果不一致)。

DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑从而修改页面的元素。也就是说,客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于这个特性,就可以利用JS脚本来实现XSS漏洞的利用。

可能触发DOM型XSS的属性

document.referer属性

window.name属性

location属性

innerHTML属性

documen.write属性

······

利用DOM引发XSS

利用DOM来引发XSS的方法有很多,这里只演示几种。

利用创建元素createElement():

以DVWA反射型XSS为例,先在Kali监听1234端口:

 然后在DVWA中输入:

在Kali中可看到cookie信息:

利用innerHTML:

用于篡改页面:

利用document.onkeypress:

即进行键盘记录。

在Kali的网页根目录下保存Keylogger.js文件:

访问一下确保可行:

接着就是将keylogger.php文件也保存在同一个目录来是实现将键盘得到记录保存到本地的keylog.txt文件中,即将接受到的key参数的取值保存到该文件中:

keylogger.php:

接着创建一个空的keylog.txt文件,然后赋予相应的可写的权限,这里为了方便就将权限赋给所有的用户:chmod 777 keylog.txt接着在Kali中打开的DVWA中输入:然后在该网页中随意输入内容,查看keylog.txt文件可看到记录了下来:

DOM型XSS的防御方法

DOM型XSS主要是由客户端的脚本通过DOM动态地输出数据到页面而不是依赖于将数据提交给服务器端,而从客户端获得DOM中的数据在本地执行,因而仅从服务器端是无法防御的。其防御在于:(1) 避免客户端文档重写、重定向或其他敏感操作,同时避免使用客户端数据,这些操作尽量在服务器端使用动态页面来实现;(2) 分析和强化客户端JS代码,特别是受到用户影响的DOM对象,注意能直接修改DOM和创建HTML文件的相关函数或方法,并在输出变量到页面时先进行编码转义,如输出到HTML则进行HTML编码、输出到则进行JS编码。

相关文章

  • XSS漏洞攻击教程:

    XSS分类:1.反射型XSS(非持久型);2.存储型XSS((持久型);3.DOM XSS(文档对象型). 反射型...

  • 关于DOM型XSS

    学号:16030140019 姓名: 莫益彰 【嵌牛导读】:DOM,全称Document Object Model...

  • XSS--LOG-1

    XSS总结: xss分为三种,反射型xss,DOM型XSS及存储型XSS,不同类型的XSS的危害不同,有兴趣的...

  • 代码审计——xss漏洞

    XSS漏洞大致分为三种 反射型XSS漏洞 存储型XSS漏洞 基于DOM的XSS漏洞 反射型XSS漏洞 它通过给别人...

  • web安全1

    xss 类型 Dom Based Xss、反射型Xss和存储型Xss 攻击 获取cookie基本是配合csrf一起...

  • Web漏洞分类

    普通反射型XSS存储型XSS基于DOM的XSS基于Flash的XSS 写类型CSRF读类型CSRFURL跳转漏洞 ...

  • XSS_1

    简介: 初学xss,xss分为三类。包括反射型,储存型和基于DOM型 一.XSS使用方法 1.简单XSS 所有代码...

  • Android安全之WebViewUXSS漏洞

    0X01 前言 XSS是我们比较熟悉的一种攻击方式,包括存储型XSS、反射型XSS、DOM XSS等,但UXSS(...

  • weBug 4.0 第12关 dom型xss

    dom型是有点特殊的xss,它是基于DOM文档对象模型的操作,通过前端脚本修改页面的DOM节点形成的XSS,该操作...

  • 二十五、XSS跨站攻击-(5)DOM型跨站

    目录1.简介2.利用DOM型xss获取cookie 1、简介 DOM型xss是一套JS和其他语言可调用的标准的AP...

网友评论

    本文标题:关于DOM型XSS

    本文链接:https://www.haomeiwen.com/subject/awndbxtx.html