一、什么是dom?
- DOM 是 W3C(万维网联盟)的标准。
- DOM 定义了访问 HTML 和 XML 文档的标准:
<span style="font-size:18px;">W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。</span>
二、W3C DOM 包括三个部分:
- 核心DOM: 针对任何结构化文档的标准模型;
- XML DOM:针对 XML 文档的标准模型;
- HTML DOM :针对 HTML 文档的标准模型;
注:XML 指可扩展标记语言(eXtensible Markup Language), 被设计用来传输和存储数据。
三、Xss测试示例
测试网址:
http://xsst.sinaapp.com/example/1-3.htm?url=./iframe.htm
如果我把
url=./iframe.htm 改为 http://blog.csdn.net/praifire
会怎么样呢?
当 iframe 的 src 被设置为 javascript:脚本代码 的时候,脚本代码将会被执行。
这样一来,我们可以利用这个技巧,将地址改为以下:
http://xsst.sinaapp.com/example/1-3.htm?url=javascript:alert(document.cookie)
总结一下这个XSS的特点:
1. 利用代码也是在地址栏里输入,
2. 在JS里,通过location.search得到地址里的代码,类似的还有:
A.location.href : 地址栏里的地址,
B.location.hash: 地址栏里#及其之后的内容,
C.document.referrer: 当前页面的源(比如你从A.com点一个链接进入了B.com,那么B.com里的document.referrer等于A.com)
3. 通过JS设置了iframe的src属性,这是一个典型的通过JS操作属性而导致的XSS。
1. 以location为关键词进行查找,
2. 进而看location传入的参数是否被过滤后再进行使用。
3. 如有未过滤而被调用的情况,则考虑如何构造利用代码。