Template injection (SSTI - Server-Side Template Injection)
Understanding Server-Side Template Injection (SSTI)
What is Server-Side Template Injection?
Vulnerable Code Example
# Flask/Jinja2 vulnerable template rendering
from flask import Flask, request, render_template_string
app = Flask(__name__)
@app.route('/hello')
def hello():
name = request.args.get('name', 'World')
# Vulnerable: User input directly in template
template = f"<h1>Hello {name}!</h1>"
return render_template_string(template)How SSTI Works
Template Engine Processing Flow
Impact and Consequences
Common Template Engines
Python Template Engines
JavaScript Template Engines
Java Template Engines
Basic SSTI Detection
Mathematical Expression Testing
Basic Arithmetic
Polyglot Detection Payloads
Context-Based Detection
HTML Context
JavaScript Context
CSS Context
Template Engine Specific Exploitation
Jinja2 (Python/Flask) Exploitation
Basic Jinja2 Syntax
Jinja2 Object Navigation
Remote Code Execution in Jinja2
Jinja2 Filter Abuse
Django Template Exploitation
Django Template Syntax
Django Template RCE
Freemarker (Java) Exploitation
Freemarker Syntax
Freemarker RCE
Velocity (Java) Exploitation
Velocity Syntax
Velocity RCE
Twig (PHP) Exploitation
Twig Syntax
Twig RCE
Handlebars.js Exploitation
Handlebars Syntax
Handlebars RCE
Advanced SSTI Techniques
Template Engine Fingerprinting
Response-Based Fingerprinting
Error Message Analysis
Filter Bypassing Techniques
Character Filtering Bypasses
Keyword Filtering Bypasses
WAF Bypassing
Blind SSTI Exploitation
Time-Based Detection
Out-of-Band Detection
File-Based Detection
Context-Specific SSTI Exploitation
Email Template Injection
Email Template Vulnerabilities
PDF Generation Template Injection
PDF Template Vulnerabilities
SMS/Notification Template Injection
SMS Template Vulnerabilities
SSTI in Popular Frameworks
Flask Applications
Flask-Specific SSTI
Django Applications
Django-Specific SSTI
Spring Boot Applications
Thymeleaf SSTI
Express.js Applications
Pug/Jade SSTI
Advanced Attack Scenarios
Multi-Stage SSTI Exploitation
Information Gathering Stage
Persistence and Backdoor Installation
SSTI with Other Vulnerabilities
SSTI + CSRF
SSTI + File Upload
SSTI + XXE
Last updated
Was this helpful?