Attacker-controlled Sources

Secret sources are either functions or object properties that can be controlled by the attacker.
Possible sources are variables, return values of particular function, data from a particular I/O stream.

location URL-based DOM Property
location.href URL-based DOM Property URL Navigation Sink
location.pathname URL-based DOM Property
location.search URL-based DOM Property
location.hash URL-based DOM Property
document.URL URL-based DOM Property
document.documentURI URL-based DOM Property
document.baseURI URL-based DOM Property
document.URLUnencoded URL-based DOM Property
window.name Navigation-based DOM Property
document.referrer Navigation-based DOM Property
XMLHTTPRequest/Fetch Communication based 2nd order DOM Injections Passing messages to other domains
WebSocket Communication based 2nd order DOM Injections
Window Messaging Communication based 2nd order DOM Injections Passing messages to other domains
Cookie Cookie source Store Type Persistent Client-Side XSS
LocalStorage Indirect source Storage Object Persistent Client-Side XSS
SessionStorage Indirect source Storage Object Persistent Client-Side XSS
IndexedDB Indirect source Storage Object Persistent Client-Side XSS
history.pushState() History-based DOM Property
history.replaceState() History-based DOM Property