DOM Clobbering Wiki

Stable

Form Parent-Child Elements

These markups clobber properties X.y where X can be any of x, window.x, and document.x. First, they exploit either the rules R1 or R2 to clobber the base object X.

Then, they use the Form Element specification rule to clobber property y of object X, i.e., the form elements’ parent-child relationships where the browser creates a property of the second element for the first element’s accessor variable.

DOM Clobbering code that rely on this technique comprise a form tag and a child (e.g., an input whose named attributes are set to variables x and y, respectively.

Name Rule Target Target Type Reference Type Tag 1 Tag 2 Attribute 1 Attribute 2 Relation Total
Form Parent-Child R3 + R1, R3 + R2 x.y, window.x.y, document.x.y Object Property, Variable HTMLElement form object, img, image id=x || name=x id=y || name=y child 12
    x.y, window.x.y, document.x.y Object Property, Variable HTMLElement form button, fieldset, input, output, select, textarea. id=x || name=x id=y || name=y child 24