ssti-server-side-template-injection

Fingerprint server-side template injection engines using polyglot probes and math evaluation.

2|Updated May 15, 2026
One-click install
npx skills add https://github.com/lNwNl/Methodos --skill ssti-server-side-template-injection
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ssti-server-side-template-injection
Source: https://github.com/lNwNl/Methodos/tree/main/docker/opencode/skills/ssti-server-side-template-injection
Command: npx skills add https://github.com/lNwNl/Methodos --skill ssti-server-side-template-injection

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

SSTI detection and exploitation guides help you determine whether attacker-controlled input is evaluated by server-side template engines, then systematically map the engine type to high-signal confirmation and follow-up checks.

Core Features & Use Cases

  • Polyglot SSTI Fingerprinting: Use math and parsing probes to differentiate template engines (Jinja2, Twig, FreeMarker, Velocity, ERB, Thymeleaf, Smarty, Pug/Jade, and more) and separate SSTI from XSS/EL.
  • Engine-Specific Payload Strategy: Apply RCE-oriented and disclosure-oriented chains per engine family, including sandbox-bypass patterns (e.g., MRO traversal for Jinja2).
  • Blind SSTI Confirmation: Validate evaluation when output is not reflected using timing, boolean, and out-of-band (DNS/HTTP) techniques, plus error-based fingerprinting.

Quick Start

Use the SSTI polyglot probe sequence in SKILL.md to confirm server-side evaluation, identify the template engine, and then choose the corresponding engine payload section for validation.

Frequently Asked Questions about ssti-server-side-template-injection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect server-side template injection vulnerabilities in web applications?

Server-side template injection is detected using polyglot probes, math evaluation, and error signatures to determine whether attacker-controlled inputs are evaluated by template engines, identifying the specific framework for targeted exploitation.

What is the best way to fingerprint a template engine during SSTI testing?

Fingerprinting a template engine during SSTI testing involves applying polyglot probes and analyzing error signatures to differentiate frameworks like Jinja2, Twig, FreeMarker, and Thymeleaf, separating true SSTI from XSS or expression language evaluation.

How can I confirm blind SSTI when the application does not reflect output?

Blind SSTI can be confirmed using timing-based techniques, boolean checks, and out-of-band verification methods like DNS and HTTP callbacks to validate server-side evaluation when template output is not reflected back to the user.

Does this SSTI testing approach support sandbox bypasses for Jinja2?

Yes, this approach supports engine-specific payload strategies including sandbox-bypass patterns like MRO traversal for Jinja2, applying RCE-oriented and disclosure-oriented chains per template engine family.

Can I use polyglot probes to differentiate SSTI from XSS vulnerabilities?

Yes, polyglot probes using math and parsing checks can differentiate server-side template injection from XSS and expression language issues across multiple frameworks and languages including Ruby ERB and Pug/Jade.

Why should I map the template engine to a specific payload family during SSTI exploitation?

Mapping the template engine to a specific payload family is necessary because SSTI exploitation requires engine-specific RCE and disclosure chains, utilizing distinct sandbox-bypass patterns tailored to the identified framework.