|
DOMSnitchDoc
DOM Snitch - a passive reconnaissance tool inside the DOM
What is DOM Snitch?DOM Snitch is an experimental Chrome extension that enables non-security testers identify common bad practices when producing client-side code and security testers gain better understanding of the transformations that occur within the DOM. DOM Snitch works by injecting a series of interceptors, also referred to as “hooks”, that allow the tool to listen when a page interacts with key (and sometimes dangerous) browser infrastructure such as window.postMessage, window.eval, or document.write (a complete list of the hooks is available here). Once a hook has been triggered, DOM Snitch gathers and stores various debug information from the execution stack (details are available here). If configured to modify data on the fly, DOM Snitch will wait for the tester to modify the used data as needed before letting normal execution to proceed. Important note: Although we’d like interception to be as transparent as possible to the web application under test, we have to state that DOM Snitch is still in its alpha days and hick-ups may occur. What does DOM Snitch intercept?In order to minimize its footprint on the application under test, DOM Snitch only intercepts the following methods.
How does DOM Snitch work under the hood?DOM Snitch uses a couple of strategies to intercept methods and properties within the DOM:
In addition, DOM Snitch relies heavily on various events that get triggered when the DOM changes state. How do I operate DOM Snitch?To start/stop DOM Snitch, click on the "Run DOM Snitch" item in the context menu of any page where DOM Snitch is present. To configure the extension, simply select "Configure…" from the context menu*. Note that by default DOM Snitch will monitor all new tabs that are opened after the extension has been enabled. All tabs that have been opened prior to that will remain unmonitored. * Starting with version 0.723, DOM Snitch also supports the use of configuration files to ensure consistent deployment across multiple running instances of the extension. Documentation on how to use is available here. What information can I expect from DOM Snitch?Through the activity log, DOM Snitch provides testers with the visibility of the DOM modifications that pose a security risk. An item in the activity log will provide these details:
Items in the activity log may be highlighted with:
When hovered over, all modifications colored green, yellow, or red will provide details on why they are highlighted. Credits and feedbackDOM Snitch is made possible thanks to the contributions of, and valuable feedback from, Google's engineering productivity and information security engineering teams. If you have any bug reports, questions, suggestions, or concerns regarding the application, the author can be reached at radi@google.com. | ||||||||||||||||