Untrusted sinks are functions or object where data can be executed.
Possible sinks: variables, parameters given to a particular function, instructions of particular type (e.g., jump instructions)
eval() |
Global API |
Direct
execution sink |
Javascript context |
Direct code conversion |
function() |
Global API |
Direct execution sink |
Javascript context |
Direct code conversion |
setTimeout() |
Global API |
Direct execution sink |
Javascript context |
Direct code conversion |
setInterval() |
Global API |
Direct execution sink |
Javascript context |
Direct code conversion |
setImmediate() |
Global API |
Direct execution sink |
Javascript context |
Direct code conversion |
execScript |
Global API |
Direct execution sink |
Javascript context |
Direct code conversion |
crypto.generateCRMFRequest |
Direct execution sink |
Javascript context |
|
ScriptElement.src |
Direct execution sink |
Javascript context |
Modifying script source attributes |
ScriptElement.text |
Direct execution sink |
Javascript context |
Modifying script source attributes |
ScriptElement.textContent |
Direct execution sink |
Javascript context |
Modifying script source attributes |
ScriptElement.innerText |
Direct execution sink |
Javascript context |
Modifying script source attributes |
<script></script> |
Direct execution sink |
Javascript context |
|
<anyTag.onEventName='payload'> |
Property |
Direct execution sink |
Javascript context |
DOM modification at runtime |
document.write() |
Global API |
HTML injection sink |
HTML context |
DOM modification at rendering |
document.writeln() |
Global API |
HTML injection sink |
HTML context |
DOM modification at rendering |
Element.innerHTML |
Property |
HTML injection sink |
HTML context |
DOM modification at runtime |
Element.outerHTML |
Property |
HTML injection sink |
HTML context |
DOM modification at runtime |
Element.setAttribute() |
Global API |
HTML injection sink |
HTML context |
DOM modification at runtime |
Element.insertAdjacentHTML() |
Global API |
HTML injection sink |
HTML context |
DOM modification at runtime |
Range.createContextualFragment |
Local API |
HTML injection sink |
HTML context |
DOM modification at runtime |
HTMLButton.value |
HTML injection sink |
HTML context |
|
parseFromString() |
|
HTML injection sink |
HTML context |
|
location |
Location sink |
Evaluates JavaScript URIs |
|
location |
Location sink |
Evaluates JavaScript URIs |
|
location.href |
Location sink |
Evaluates JavaScript URIs |
|
location.protocol |
Location sink |
Evaluates JavaScript URIs |
|
location.hostname |
Location sink |
Evaluates JavaScript URIs |
|
location.replace() |
Location sink |
Evaluates JavaScript URIs |
Location-changing functions |
location.asssign() |
Location sink |
Evaluates JavaScript URIs |
Location-changing functions |
HTMLButtonElement.formAction |
DOM XSS injection sink |
function |
|
HTMLEmbededElement.src |
DOM XSS injection sink |
function |
|
HTMLFormElement.action |
DOM XSS injection sink |
function |
|
HTMLFrameElement.src |
DOM XSS injection sink |
function |
|
HTMLFrameElement.srcdoc |
DOM XSS injection sink |
function |
|
HTMLImageElement.src |
DOM XSS injection sink |
function |
|
HTMLInputElement.formAction |
DOM XSS injection sink |
function |
|
HTMLInputElement.src |
DOM XSS injection sink |
function |
|
HTMLMediaElement.src |
DOM XSS injection sink |
function |
|
HTMLScriptElement.src |
Property |
DOM XSS injection sink |
Location sink |
DOM modification at runtime |
HTMLScriptElement.text |
Property |
JavaScript sink |
Location sink |
DOM modification at runtime |
HTMLScriptElement.InnerText |
Property |
JavaScript sink |
function |
DOM modification at runtime |
HTMLScriptElement.textContent |
Property |
JavaScript sink |
function |
DOM modification at runtime |
HTMLIFrameElement.src |
Property |
Location injection sink |
function |
DOM modification at runtime |
HTMLIFrameElement.srcdoc |
Property |
HTML injection sink |
function |
DOM modification at runtime |
HTMLSourceElement.src |
DOM XSS injection sink |
function |
|
HTMLTrackElement.src |
DOM XSS injection sink |
function |
|
jQuery(x) |
JQuery sink |
Global jQuery Function |
|
jQuery $(x) |
JQuery sink |
Global jQuery Function |
|
jQuery.parseHTML(x) |
JQuery sink |
Global jQuery Function |
|
jQuery.globalEval(userContent) |
JQuery sink |
Direct execution sink |
|
element.add(userContent) |
JQuery sink |
Element-specific function |
|
element.append(userContent) |
JQuery sink |
Element-specific function |
|
element.before(userContent) |
JQuery sink |
Element-specific function |
|
element.after(userContent) |
JQuery sink |
Element-specific function |
|
element.html(userContent) |
JQuery sink |
Element-specific function |
|
element.prepend(userContent) |
JQuery sink |
Element-specific function |
|
element.replaceWith(userContent) |
JQuery sink |
Element-specific function |
|
element.wrapAll(userContent) |
JQuery sink |
Element-specific function |
|
element.wrap(userContent) |
JQuery sink |
Element-specific function |
|