ssti-error-based-detection

Detect blind SSTI vulnerabilities by analyzing differential error messages.

11|1|Updated May 4, 2026
One-click install
npx skills add https://github.com/dreadnode/capabilities --skill ssti-error-based-detection
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ssti-error-based-detection
Source: https://github.com/dreadnode/capabilities/tree/main/capabilities/web-security/skills/ssti-error-based-detection
Command: npx skills add https://github.com/dreadnode/capabilities --skill ssti-error-based-detection

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the challenge of detecting server-side template injection (SSTI) vulnerabilities when no reflected output is visible, by using error message differentials to identify the underlying template engine, a critical step before safe escalation of the vulnerability.

Core Features & Use Cases

  • Polyglot Payload Detection: Sends specialized polyglot payloads to trigger distinct error messages unique to each template engine, confirming if input is processed by a template engine.
  • Multi-Engine Fingerprinting: Identifies common template engines including Jinja2, Twig, Freemarker, ERB, and Velocity by matching error class names and stack trace details.
  • Use Case: For penetration testers assessing web applications for SSTI flaws where standard time-based blind detection is too slow or unreliable, this Skill enables rapid engine identification to streamline subsequent authorized exploitation steps.

Quick Start

Use the ssti-error-based-detection skill to identify the template engine of a suspected blind SSTI vulnerability on your target web application endpoint.

Frequently Asked Questions about ssti-error-based-detection

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

FAQPage Schema
How do I detect blind server-side template injection when no output is reflected?

Blind server-side template injection (SSTI) can be detected by analyzing differential error messages. This approach uses specialized polyglot payloads to trigger distinct errors, confirming if input is processed by a template engine without needing reflected output.

How can I identify the template engine used in a blind SSTI vulnerability?

Identify the template engine in a blind SSTI by matching distinct error class names and stack trace details. This fingerprinting technique applies to common engines including Jinja2, Twig, Freemarker, ERB, and Velocity after triggering errors with polyglot payloads.

What is the best way to test for SSTI when time-based blind detection is unreliable?

Error-based fingerprinting is the best way to test for SSTI when time-based detection is unreliable. It enables rapid engine identification by analyzing differential error messages triggered by polyglot payloads, streamlining subsequent authorized exploitation steps.

Can I use error message fingerprinting for web application penetration testing on any template engine?

Error message fingerprinting for web application penetration testing currently targets specific engines. It successfully identifies Jinja2, Twig, Freemarker, ERB, and Velocity by triggering and analyzing their unique error class names and stack traces.

Why does standard SSTI detection fail without reflected output?

Standard SSTI detection fails without reflected output because it relies on visible template evaluation responses. Error-based detection overcomes this by sending polyglot payloads that trigger template engine errors, successfully identifying the underlying engine via error differentials.