XML External Entity (XXE) Injection
Overview
1. Local File Disclosure
Identifying XXE Vulnerabilities
XML Input Detection
Testing Methodology
Basic File Disclosure Attacks
Reading System Files
Common Target Files
Reading Source Code
PHP Source Code Disclosure
Remote Code Execution
PHP Expect Wrapper (Rare)
Web Shell Deployment
Other XXE Attack Vectors
Server-Side Request Forgery (SSRF)
Denial of Service (Billion Laughs)
2. Advanced File Disclosure
Advanced Exfiltration with CDATA
Problem with Special Characters
CDATA Solution
Parameter Entity Bypass
Complete CDATA Attack
Error-Based XXE
Scenario: Blind XXE Exploitation
Error-Based Technique
3. Blind Data Exfiltration
Out-of-band (OOB) Data Exfiltration
Scenario: Completely Blind XXE
OOB Attack Methodology
Manual OOB Technique
Alternative OOB Methods
DNS OOB Exfiltration
Automated OOB Exfiltration
XXEinjector Tool
Tool Usage
XXEinjector Advanced Options
Complete OOB Attack Workflow
Step-by-Step Implementation
HTB Academy Lab Solutions
Lab 1: Connection.php API Key Extraction
Lab 2: Advanced Flag.php Extraction
Method 1: CDATA Approach (at /index.php)
/index.php)Method 2: Error-Based Approach (at /error)
/error)Lab 3: Blind OOB Data Exfiltration
Manual OOB Method
Automated XXEinjector Method
Automated XXE Testing
XXE Detection Script
Burp Suite XXE Testing
Intruder Payloads
Content-Type Bypass
Vulnerable Code Examples
PHP - Insecure XML Processing
Secure XML Processing
Prevention & Hardening
XML Parser Configuration
PHP Security Settings
Java Security Settings
Application-Level Controls
Input Validation
Content-Type Validation
Detection & Monitoring
Log Analysis
Web Application Firewall Rules
Security Testing Checklist
Last updated