Eamples can be run locally using UI5 tooling
- only reportin alerts that are specific to UI5
- custom Control
- classic string-based API
rendererproperty is set to a render function
- custom Control
- accessing Control properties byId
- custom Control
- DOM-like API
rendererproperty is set to an object literal
- custom Control declared using JQuery
- custom Control
- DOM-like API
- the type of the control property
textis set toint(sanitized) - the sanitizer is not affecting the log-injection
- custom Control
- DOM-like API
- the value of
textis sanitized usingsap/base/security/encodeXML
User input flows to XSS sinks via event handlers in 4 different ways:
- function
sap.ui.model.Model#getProperty - model property passed as handler parameter
- function
sap.ui.base.Event#getSource#getValue - accessing properties byId
sap.ui.core.HTMLControl- sanitization using the
sanitizeContentproperty - sanitization disabled by programmatically setting the
sanitizeContentproperty to false
sap.ui.core.HTMLControl- dataflow in the controller
sap.ui.core.HTMLControl- one-way binding makes the xss fail
sap.ui.core.HTMLControl- controller model as external
.jsonfile
sap.ui.core.mvc.HTMLViewView
- control accessed indirectly
sap.ui.core.mvc.JSViewView- sanitization using the
sanitizeContentproperty
sap.ui.core.mvc.JSONViewView- sanitization using the
sanitizeContentproperty
rendererproperty is set to a class name (a string)- Renderer implemented in it's own module
- Uses the
sap.ui.webc.main.MultiInputcontrol
- only reportin alerts that are specific to UI5
sap.ui.core.HTMLControl- dataflow in the controller
- custom Control
- DOM-like API
- the type of the control property
textis set toint(sanitized) - the sanitizer is not affecting the log-injection
- the value of
textis sanitized usingsap/base/security/encodeXML - the sanitizer is not affecting the log-injection
- frameOptions =
allow
frameOptionsnot set
- frameOptions =
deny