What problem does it solve?
During authorized penetration tests, applications that transform XML with attacker-influenced XSLT stylesheets are often under-tested because generic XXE payloads fail and testers stop there. This Skill provides a processor-aware methodology to fingerprint the XSLT engine and select the correct exploitation primitives instead of reporting false negatives.
Core Features & Use Cases
- Processor Fingerprinting: Uses system-property() probes to identify libxslt, Saxon, Xalan, .NET, or MSXML engines before choosing payloads.
- Multi-Primitive Exploitation: Covers local file read (document(), unparsed-text(), php:function), SSRF to cloud metadata endpoints, file write via exsl:document and xsl:result-document, and RCE through processor-specific extension functions like php:function, java.lang.Runtime, and msxsl:script.
- Blind Confirmation Techniques: Confirms blind RCE and SSRF via out-of-band DNS/HTTP callbacks, time delays, and marker file writes.
- Use Case: A PDF report generator transforms user-supplied XML with Saxon; the tester injects unparsed-text('/etc/passwd') to embed the password file in the generated PDF, proving file read impact.
Quick Start
Test the target's XML transformation endpoint for XSLT injection by first fingerprinting the processor and then exploiting it with the appropriate payloads.