1、DOM clobbering:是一种将HTML注入页面以操纵DOM并终极更改页面上JavaScript行为的技术。DOM clobbering在XSS不可行的情况下特殊有用,但是可以控制页面上的某些HTML,在这些页面上,属性id或name被HTML过滤器列入白名单。XSS 是不大概的,但可以在 HTML 过滤器将属性 id 或名称白名单列出的页面上控制一些 HTML 。DOM clobbering最常见的形式是使用锚元素覆盖全局变量,然后应用程序以不安全的方式使用该变量,例如生成动态脚本URL。 2、术语clobbering来自若许一个事实,即您正在“clobbering”对象的全局变量或属性,并用DOM节点或HTML集合覆盖它。如可以使用DOM对象覆盖其他JavaScript对象,并利用不安全的名称(如submit)来干扰表单的实际submit()函数
2、利用DOM-clobbering毛病
1、JavaScript开发职员常用的模式是:
var someObject = window.someObject || {};
复制代码
2、假如可以控制页面上的一些HTML,则可以使用DOM节点(如锚点anchor)来重定名someObject引用。使用 DOM 节点(例如锚)的 some 对象引用。