Confirming XSLT Injection
Inject a broken XML tag to provoke a parser error:Information Disclosure
Injectsystem-property() calls to fingerprint the XSLT processor and version:
Local File Read
XSLT 2.0+ (unparsed-text)
PHP Functions (libxslt with PHP bindings)
If the XSLT library is configured to allow PHP function calls:Remote Code Execution
When PHP functions are enabled in the XSLT processor:XSLT Primer
XSLT documents are XML files with XSL elements under thexsl: namespace. Key elements:
Example XSLT that reads an XML document and outputs all fruit names and colours: