← Back to list

# Injection-Angriffe als universelles Problem interpretierter Systeme

## Einleitung

R4In3RZuf4LL · 2026-05-27 22:04 · 0 claps · 2.0 min read
#cybersecurity #web-security #injection-attacks
Open on Medium ↗
Wiki topics: 🔒 · Cybersecurity 🔭 · Astronomy & Space

# Injection-Angriffe als universelles Problem interpretierter Systeme

Einleitung

Injection-Angriffe zählen zu den grundlegendsten Schwachstellen moderner Softwaresysteme. Sie entstehen immer dann, wenn untrusted input Teil einer formalen Sprache wird und anschließend von einem Parser oder Interpreter verarbeitet wird.

Das zentrale Prinzip ist unabhängig von der Technologie: SQL, Shell, HTML, XPath, JSON oder Template Engines unterscheiden sich syntaktisch, aber nicht strukturell.

Injection bezeichnet die unbeabsichtigte Veränderung der syntaktischen oder semantischen Struktur einer interpretierten Sprache durch manipulierte Eingaben.

Das Muster bleibt konstant: Ein Kontext wird verlassen und dadurch werden Grammatik und Semantik verändert.

— -

Definitionen

Injection Unbeabsichtigte Veränderung der syntaktischen oder semantischen Struktur einer interpretierten Sprache durch manipulierte Eingaben, typischerweise durch das Verlassen des vorgesehenen Kontexts.

Context Escape Der Vorgang, bei dem eine Eingabe ihren ursprünglichen Kontext verlässt (z.B. Stringliteral to SQL code, HTML attribute to JavaScript context). Context escapes are the main mechanism used to change grammar and semantics.

— -

Universelles Muster

Injection folgt immer derselben Struktur:

  1. Eingaben werden in einen syntaktischen Kontext eingebettet
  2. Eingaben werden Teil einer formalen Sprache
  3. Parser oder Interpreter analysieren die Struktur (tokenization, parsing, semantic analysis)
  4. Der Angreifer verlässt den erwarteten Kontext
  5. Neue syntaktische Elemente verändern die Bedeutung

Diese Eingaben verändern Token streams, Parse trees oder Abstract Syntax Trees (ASTs).

— -

Parsing vs Execution

Parse Phase

Manipulation der Tokenisierung oder Grammatik (z.B. string termination, new tokens)

Ziel: Strukturveränderung vor der Ausführung

Maßnahmen: lexical validation, token checks, AST checks

— -

Semantic Phase

Manipulation der Ausführungslogik oder des Kontrollflusses

Ziel: Änderung der Bedeutung trotz gültigem Parse

Maßnahmen: policy checks, authorization, runtime isolation

— -

Typische Klassen

  • SQL Injection: Manipulation von SQL Queries durch String Bruch und Token Injection
  • NoSQL Injection: Nutzung von Operatoren wie $ne, $regex
  • Command Injection: Nutzung von Shell Operatoren wie ;, &&, |
  • Cross Site Scripting (XSS): Code Injection in Browser Contexts
  • Template Injection (SSTI): Missbrauch von Template Engines
  • Weitere: XPath, LDAP, XML, CRLF, CSV Injection, ReDoS

Alle folgen demselben Prinzip: Input becomes code in an interpreted context.

— -

Mehrstufige Interpreterketten

Moderne Systeme enthalten verschachtelte Kontexte:

HTML to JavaScript to JSON to SQL

Fehler entstehen oft an Übergängen, da Encoding und Escaping inkonsistent sind.

— -

Gemeinsame Eigenschaften

  • Interpreter vorhanden
  • Daten und Logik vermischt
  • Kontextabhängige Semantik
  • Context escape möglich

Injection ist ein Sprachproblem, Parserproblem und Architekturproblem.

— -

Abwehrprinzipien

  • Trennung von Daten und Logik (prepared statements, parameter binding)
  • Kontextsensitives Escaping
  • Typisierung und Schema Validation
  • AST based validation statt string filtering
  • Least privilege and sandboxing
  • Sichere Interpreter Designs ohne dynamic evaluation

— -

SDLC

  • Design: Daten dürfen niemals als Code interpretiert werden
  • Code Review: Fokus auf Kontextwechsel
  • Testing: AST fuzzing und structured attacks
  • Monitoring: Anomaly detection for query and AST patterns

— -

Schlussfolgerung

Injection ist kein isoliertes Problem einzelner Technologien, sondern eine fundamentale Eigenschaft interpretierter Systeme.

Das Muster bleibt konstant: Ein Kontext wird verlassen und die Bedeutung der Struktur verändert sich.

— -

Quellen

OWASP Foundation. OWASP Top 10 Injection https://owasp.org/www-project-top-ten/

OWASP Cheat Sheet Series https://cheatsheetseries.owasp.org/

Halfond et al. A Classification of SQL Injection Attacks and Countermeasures

Nadji et al. Context Sensitive String Evaluation for SQL Injection Prevention

Aho, Lam, Sethi, Ullman. Compilers: Principles, Techniques, and Tools

PortSwigger Web Security Academy SSTI https://portswigger.net/web-security/server-side-template-injection

CVE-2014–6271 Shellshock https://cve.mitre.org/


메타데이터
post_id
e05feef42dbf
slug
injection-angriffe-als-universelles-problem-interpretierter-systeme-e05feef42dbf
url
https://medium.com/@rainer_zufall111/injection-angriffe-als-universelles-problem-interpretierter-systeme-e05feef42dbf
canonical_url
https://medium.com/@rainer_zufall111/injection-angriffe-als-universelles-problem-interpretierter-systeme-e05feef42dbf
author_url
https://medium.com/@rainer_zufall111
status
ok
fetched_at
2026-06-20 20:29:01