Hackers of India

DOM FLOW - UNTANGLING THE DOM FOR MORE EASY-JUICY BUGS

By  Ahamed Nafeez  on 06 Jul 2015 @ Blackhat


Presentation Material

AI Generated Summarymay contain errors

Here is a summary of the content:

The speaker discusses an expert templating engine that replaces placeholders with user input. The input undergoes HTML filtering, in which single quotes, A single quote, , double quotes, , and less than/greater than symbols are removed. To bypass this filtering and cause an XSS (Cross-Site Scripting) vulnerability, a payload using special characters like dollar ($) and backtick (`) can be used. The speaker demonstrates how the templating engine’s filtering mechanism can be evaded by exploiting JavaScript’s string replace function and its behavior with certain characters.

The speaker also mentions that they are working on improving a tool called Hawkish to track data between sources and sinks, including properties like location and post messages, and to identify cases of DOM clobbering. The goal is to create a framework for identifying interesting security vulnerabilities in front-end code. The speaker invites contributions and criticism of their open-source Chrome extension, available on GitHub.

The key points of the content are:

  1. Templating engines can be vulnerable to XSS attacks if not properly filtered.
  2. Special characters like dollar ($) and backtick (`) can be used to bypass filtering mechanisms.
  3. JavaScript’s string replace function has special behaviors with certain characters that can be exploited.
  4. The speaker is working on a tool called Hawkish to track data flows and identify security vulnerabilities in front-end code.
  5. The goal is to create a framework for identifying interesting security cases, including DOM clobbering.