Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/vladko312/research_successful_errors
SchwachstellenanalyseCode-AnalyseWebanwendungs-ExploitationFuzzingCTFPenetrationstestsPapers & ForschungLernen & BildungPayload-Entwicklung
GitHubvladko312/research_successful_errors

Research_Successful_Errors

Whitepaper, das fehlerbasierte und boolesche fehlerbasierte Blind-Techniken für SSTI und Code Injection vorstellt, mit universellen Payloads für sechs Programmiersprachen und Integration in SSTImap.

Repository anzeigen
1211313vor 7 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Successful Errors: Neue Code Injection- und SSTI-Techniken

Report version Last modified

[!NOTE] Dies ist die zweite Version des Whitepapers auf Basis der Ergebnisse, die ich vor der Veröffentlichung von SSTImap Version 1.3.1 vorgestellt habe. Weitere Verbesserungen werden zu einem späteren Zeitpunkt als Version 1.2 der Forschung an dieses Format angepasst.

  • Payloads
  • Ausdruckbares Whitepaper
  • Folien

Einige Kategorien von Schwachstellen erscheinen auf den ersten Blick vielleicht bekannt und etwas offensichtlich. Es könnte scheinen, dass alle möglichen Techniken für diese Schwachstellen bekannt sind, sodass nur noch Payloads für ungewöhnliche Fälle entdeckt werden könnten. Server-Side Template Injection (SSTI) und Code Injection werden oft als diese bekannten Kategorien betrachtet.

Manchmal werden neue Techniken mit selbsterklärenden Namen für diese Schwachstellen angetroffen. Viele Forscher könnten diese Techniken ebenfalls als bekannt betrachten oder sich sogar erinnern, sie verwendet zu haben, aber in Wirklichkeit existiert die Technik möglicherweise nur als allgemein verstandener Name ohne Forschung, Beschreibungen oder universelle Payloads. Sie wird vielleicht ein paar Mal zusammen mit Payloads für sehr spezifische Fälle erwähnt, aber nicht systematisch getestet, und das wahre Potenzial dieser Technik könnte jahrelang unentdeckt bleiben.

Diese Forschung stellt zwei solcher Techniken für Code Injection und SSTI vor: Error-Based (fehlerbasiert) und Boolean Error-Based Blind (boolesch fehlerbasiert blind). Ich werde Payloads für Code Injection und SSTI in sechs Programmiersprachen bereitstellen: Python, PHP, Java, Ruby, NodeJS und Elixir. Darüber hinaus werde ich universelle Erkennungs-Payloads bereitstellen, die in der Lage sind, selbst blinde Injektionen schnell zu erkennen.

Ich werde den vollständigen Zeitplan meiner Forschung darlegen, vom Finden der ersten Hinweise bis zu den endgültigen Schlussfolgerungen. Ich werde auch den Prozess der Erstellung neuer Payloads für Programmiersprachen und Templates untersuchen, die in dieser Forschung nicht erwähnt werden.

In dieser Forschung werde ich Beispiele für praktische Anwendungen der neuen Techniken zeigen und potenzielle Bereiche für weitere Forschung teilen. Alle bereitgestellten Payloads können verwendet werden, um Schwachstellen in realen Anwendungen zu erkennen und auszunutzen. Zusätzlich wurden alle bereitgestellten Payloads zum Open-Source-Tool SSTImap hinzugefügt, was die Anwendung der Ergebnisse dieser Forschung auf reale Ziele erleichtert.

Gliederung

  • Einleitung
  • Hinweise
    • Dust.JS
    • Twig (CVE-2022-23614)
    • JSONPath Plus (CVE-2025-1302)
    • expr-eval (CVE-2025-13204)
  • Error-Based SSTI
    • Python
    • PHP
    • Java
    • Ruby
    • NodeJS
    • Elixir
    • Generische Erkennung
    • Payload-Entwicklung
  • Boolean Error-Based Blind SSTI
    • Fehlererkennung
    • Python
    • PHP
    • Java
    • Ruby
    • NodeJS
    • Elixir
    • Generische Erkennung
    • Payload-Entwicklung
  • Praktische Anwendung
    • expr-eval (CVE-2025-13204)
    • JSONPath Plus (CVE-2025-1302)
    • Twig (CVE-2022-23614)
    • Dust.JS
  • Schlussfolgerungen
  • Referenzen

Einleitung

Server-Side Template Injection-Schwachstellen treten auf dynamischen Websites auf, die Template-Engines für serverseitiges Rendering verwenden, wenn die nicht vertrauenswürdige Benutzereingabe in das Template eingefügt wird, bevor es von der Template-Engine verarbeitet wird. Ein böswilliger Akteur kann gültige Template-Syntax einfügen, die während des Seiten-Renderings von einer Template-Engine verarbeitet wird. Viele Template-Engines bieten eine Form von Code-Ausführungsfunktionalität, was oft zu Remote Code Execution (RCE) auf dem Zielserver führt. Diese Forschung konzentriert sich auf Template-Engines, die im Falle einer Ausnutzung solche Fähigkeiten bereitstellen.

SSTI-Schwachstellen sind seit 2015 bekannt, und in dieser Zeit wurden viele Payloads entdeckt, die Informationsdiebstahl, Filterumgehungen und Sandbox-Escape ermöglichen. Trotzdem geben die meisten Payloads entweder das Ergebnis direkt auf der Seite aus oder konzentrieren sich auf die Tatsache der Code-Ausführung selbst, ohne die von diesem Code produzierten Ergebnisse zu berücksichtigen.

Gerenderter Injektionsablauf

Eine weitere bekannte SSTI-Technik ist die Time-Based Blind (zeitbasierte blinde), bei der eine Verzögerung zum ausgeführten Shell-Befehl hinzugefügt wird. Diese Technik erlaubt es, den Erfolg der injizierten Code-Ausführung zu bestimmen, erfordert jedoch das Erraten des Payloads für die OS-Befehlsausführung, was es schwieriger macht, blinde SSTI in einer dem Forscher unbekannten Template-Engine zu erkennen.

Zeitbasierter blinder Injektionsablauf

Die SSTI-Schwachstellenklasse und beide bekannten Ausnutzungstechniken wurden 2015 von James Kettle entdeckt. Diese Techniken werden in seiner Forschung "Server-Side Template Injection: RCE For The Modern Web App" detailliert beschrieben. [^1] In den zehn Jahren seitdem wurden keine neuen Ausnutzungstechniken dokumentiert. Nur eine Erkennungstechnik wurde 2023 entdeckt, die Polyglot-Payloads verwendet, um mehrere Template-Engines auf einmal zu testen. Diese Technik wurde von Maximilian Hildebrand entdeckt und in seiner Forschung "Improving the Detection and Identification of Template Engines for Large-Scale Template Injection Scanning" beschrieben. [^2] Die Technik konzentriert sich darauf, die Template-Engines mit einer minimalen Anzahl von Anfragen zu bestimmen, funktioniert aber nur für einfache Injektionskontexte.

Polyglot-basierter Erkennungsablauf

Die meisten Template-Engines, die auf interpretierten Programmiersprachen wie PHP, NodeJS und Python basieren, erlauben direkt die Auswertung von Ausdrücken der entsprechenden Programmiersprachen. Diese Fähigkeit erlaubt es uns, Payloads für eine breitere Kategorie von Code-Injection-Schwachstellen zu verwenden, indem wir sie in das korrekte Format des Template-Tags einwickeln.

Code Injection kann auch ohne SSTI auftreten, wenn nicht vertrauenswürdige Benutzereingaben an eval() oder eine ähnliche gefährliche Funktion gelangen. Es wird oft angenommen, dass die Ausnutzung von Code Injection nur das Programmieren in der entsprechenden Sprache ist, daher werden Techniken und Payloads nur für spezifische Schwachstellenbeispiele dokumentiert, die eine Anpassung des Codes an die Zielanwendung erfordern.

Das Fehlen allgemeinerer Erkennungstechniken für Code Injection und SSTI führt zur Ineffizienz von Black-Box-Scans für blinde Code- und Template-Injektionen.

Tool herunterladen