← Zurück zum Blog

Ihr Kontaktformular Ist ein Offenes Tor fur Hacker

Jede Unternehmenswebsite hat ein Kontaktformular. Es ist der einfachste Weg fur potenzielle Kunden, Sie zu erreichen. Es ist in vielen Fallen auch der einfachste Weg fur Angreifer, Ihren Server zu erreichen.

Ein Kontaktformular ist eine Schnittstelle zwischen der Aussenwelt und Ihrer Webanwendung. Es akzeptiert Eingaben von jedem im Internet und leitet sie zur Verarbeitung an Ihren Server weiter. Wenn diese Eingaben nicht korrekt validiert und bereinigt werden, wird das Formular zum Angriffsvektor.

Wie Formulare zu Angriffsvektoren Werden

Das grundlegende Problem ist Vertrauen. Wenn Ihre Anwendung darauf vertraut, dass die Daten aus einem Formular sicher und korrekt formatiert sind, wird ein Angreifer Daten senden, die weder sicher noch korrekt formatiert sind.

Clientseitige Validierung Ist Keine Sicherheit

Viele Entwickler (und viele Web-Agenturen im Tessin) implementieren Formularvalidierung nur im Browser uber JavaScript. Das bietet eine gute Benutzererfahrung, aber null Sicherheit. Ein Angreifer umgeht sie mit deaktiviertem JavaScript, curl oder Burp Suite.

SQL-Injection Uber Formularfelder

SQL-Injection tritt auf, wenn Formulareingaben direkt ohne Parametrisierung in eine Datenbankabfrage eingefugt werden. Ein Angreifer kann Ihre gesamte Datenbank lesen, Daten andern, Tabellen loschen und in manchen Konfigurationen Systembefehle ausfuhren.

Die Losung

Parametrisierte Abfragen (Prepared Statements). Der Parameter wird als Daten behandelt, nie als SQL-Code.

Cross-Site Scripting (XSS) uber Eingabefelder

XSS funktioniert, wenn ubermittelte Daten ohne korrekte Kodierung auf einer Seite angezeigt werden. Ein Angreifer ubermittelt JavaScript uber Ihr Formular, und wenn ein Admin die Einreichung ansieht, wird das Script in seinem Browser ausgefuhrt und stiehlt seine Session.

Die Losung

Ausgabekodierung und Content-Security-Policy (CSP) Header. Siehe unseren Leitfaden zu den OWASP Top 10 Schwachstellen.

Datei-Upload-Schwachstellen

Wenn die Upload-Validierung unzureichend ist, kann ein Angreifer ein PHP-Script als Bild getarnt hochladen. Haufige Umgehungstechniken:

  • Doppelte Erweiterung: malware.php.jpg
  • MIME-Typ-Spoofing: Content-Type als image/jpeg fur eine PHP-Datei
  • Null-Byte-Injection: malware.php%00.jpg
  • .htaccess-Upload: Server neu konfigurieren, um .jpg als PHP auszufuhren

Die Losung

  • Dateiinhalt validieren, nicht nur Erweiterungen
  • Dateien ausserhalb des Web-Roots speichern
  • Zufallsnamen vergeben (UUID)
  • Whitelist erlaubter Dateitypen verwenden

Cross-Site Request Forgery (CSRF)

CSRF tauscht einen Benutzer, damit er ein Formular absendet, das er nicht absenden wollte. Die Losung: einzigartige CSRF-Tokens in jedem Formular und das SameSite-Attribut auf Session-Cookies.

E-Mail-Header-Injection

Ein Angreifer injiziert zusatzliche E-Mail-Header uber das E-Mail-Feld und verwandelt Ihren Server in ein Spam-Relay. Das fuhrt zur Blacklistung Ihres Mailservers und zur Beschadigung Ihrer Domain-Reputation.

Die Losung

E-Mail-Bibliotheken verwenden (PHPMailer, Nodemailer) statt roher mail()-Funktionen. Zeilenumbruch-Zeichen aus allen Eingaben entfernen.

SSRF uber URL-Felder

Wenn Ihr Formular URLs akzeptiert, kann ein Angreifer URLs einreichen, die auf interne Ressourcen zeigen. Validieren, Protokolle einschranken, private IP-Bereiche blockieren.

Spam und Automatisierter Missbrauch

CAPTCHA vs. Honeypot

CAPTCHA fugt eine Herausforderung hinzu, die Bots nicht leicht losen konnen. Honeypot-Felder sind versteckte Felder, die Menschen nie sehen, aber Bots ausfullen. Best Practice: beides verwenden.

Rate Limiting

Formulareinreichungen pro IP und Zeitraum begrenzen.

So Testen Sie Ihre Formulare Sicher

XSS-Test

Senden Sie <script>alert('test')</script> in jedem Feld. Ein JavaScript-Popup zeigt Verwundbarkeit an.

E-Mail-Header-Injection-Test

Senden Sie test@example.com%0ABcc:test2@example.com im E-Mail-Feld.

Basis-SQLi-Test

Senden Sie test' OR '1'='1 in einem Textfeld. Fehlermeldungen mit SQL-Bezug deuten auf Verwundbarkeit hin.

Dies sind Basistests. Fur eine professionelle Bewertung kontaktieren Sie unser Team.

Formularsicherheits-Checkliste

MassnahmeVerhindertImplementierung
Serverseitige ValidierungAlle Injection-AngriffeTyp, Lange, Format, erlaubte Zeichen validieren
Parametrisierte AbfragenSQL-InjectionPrepared Statements
AusgabekodierungXSSHTML-Kodierung aller Benutzerdaten
CSRF-TokensCSRFEinzigartige Tokens in jedem Formular
Upload-ValidierungCode-AusfuhrungWhitelist, Inhaltsvalidierung, Speicherung ausserhalb Web-Root
E-Mail-Header-BereinigungHeader-InjectionE-Mail-Bibliotheken, Zeilenumbruche entfernen
Rate LimitingSpam, Brute ForceEinreichungen pro IP begrenzen
CAPTCHA oder HoneypotAutomatisierter SpamreCAPTCHA, hCaptcha oder verstecktes Feld

Fur HTTP-Security-Header siehe unseren Leitfaden zu Security-Headern.

Reale Beispiele aus dem Tessin

Fall 1: Eine Personalvermittlung

Bewerbungsformular mit Lebenslauf-Upload ohne Server-Validierung. PHP-Web-Shell hochgeladen. Kandidaten-Datenbank extrahiert.

Fall 2: Ein Gastgewerbe-Betrieb

Reservierungsformular ohne CSRF-Schutz. Reservierungen manipuliert, Bestatigungs-E-Mails umgeleitet. Gaste betrogen.

Fall 3: Eine Beratungsfirma

E-Mail-Header-Injection im Kontaktformular. Uber 50.000 Spam-E-Mails uber den Firmen-Mailserver versendet. Drei Wochen auf der Blacklist.

Was Sie Jetzt Tun Sollten

  1. Prufen Sie Ihre Formulare mit den beschriebenen Tests.
  2. Fragen Sie Ihren Entwickler: "Werden Eingaben serverseitig validiert? Verwenden wir parametrisierte Abfragen? Haben unsere Formulare CSRF-Tokens?"
  3. Implementieren Sie Security Headers. CSP bietet Tiefenverteidigung gegen XSS.
  4. Holen Sie eine professionelle Bewertung. Kontaktieren Sie unser Team fur ein umfassendes Sicherheitsaudit.

Ihr Kontaktformular soll Sie mit Kunden verbinden. Stellen Sie sicher, dass es Sie nicht auch mit Angreifern verbindet.

Wollen Sie wissen, ob Ihre Website sicher ist?

Fordern Sie ein kostenloses Sicherheitsaudit an. In 48 Stunden erhalten Sie einen vollständigen Bericht.

Kostenloses Audit Anfordern

Schnellkontakt