zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Per PHP aufgerufenes Kontaktformular wird missbraucht

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 24.09.2006, 17:55
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 20.12.2004
Beiträge: 9
Glödu befindet sich auf einem aufstrebenden Ast
Standard Per PHP aufgerufenes Kontaktformular wird missbraucht

Hallo zusammen!

Vor einiger Zeit baute ich in meine Website ein per PHP aufgerufenes Kontaktformular ein, gemäss der in Stefan Münz Buch Professionelle Websites gegebenen Anleitung.

Bis vor kurzem hatte das auch wunderbar funktioniert. Doch seit einigen Tagen werde ich von hunderten eMails überschwemmt, welche an die in kontakt.php festgelegte eMail-Adresse und über den von mir benutzten Mail-Server (aber nicht mit dem von mir festgelegten Betreff) an mich verschickt werden. Offenbar will mir jemand etwas beweisen oder mich einfach belästigen.

Mir ist nicht klar, wie der/die das überhaupt fertigbringt/en, da ich selbst es per Browser nicht schaffe, Einblick in die in der PHP-Datei angegebenen Daten zu bekommen.

In einem Archiv kontakt gibt es drei Dateien: kontaktformular.html, danke.html und kontakt.php. Die PHP-Datei beginnt so:

Code:
<?php
$mailto = "meine@adresse.org";
$form_file = "kontaktformular.html";
$thanks_file = "danke.html";
$standard_legend = "Text";
$error_legend = "Text";
usw.

Das Formular in der Datei kontaktformular.html beginnt mit folgenden Angaben:

Code:
<form action="[%pfad%]" method="post" accept-charset="UTF-8" onsubmit="return formular_pruefen()">
<fieldset>
<input type="hidden" name="return" value="danke.html" />
<input type="hidden" name="subject" value="festgelegter Betreff" />
Danach folgen weitere Eingabefelder.

Weshalb kann jemand meinen Mails-Server so für seine Zwecke benutzen? Was kann ich dagegen tun?

Dieser Beitrag scheint dem Thema Sicherheit von eigenem PHP Kontaktformular ähnlich zu sein, die dort gegebenen Antworten verstehe ich aber nicht.

Und noch eine Nebenfrage: Im Betreff kann ich keine Umlaute benutzen, denn diese kommen dann im Mail-Client unlesbar an. Warum ist das so?

Danke für eure hilfreichen Antworten.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.09.2006, 22:43
Glühend, brennend Rot
XHTMLforum-Mitglied
 
Registriert seit: 12.08.2006
Ort: Riehen
Beiträge: 152
Wasili befindet sich auf einem aufstrebenden Ast
Standard

Das geht ganz einfach.
Zum Beispiel öffne ich mit der PHP-Erweiterung "Curl" eine Verbindung zu deinem Server, schicke auf der richtigen Seite einen POST-Request ab mit meinen Daten. Da du den Betreff nur über ein verstecktes Feld regelst kann ich den wunderbar manipulieren.
Ich wäre nun so böse und setze eine Endlosschleife. SChwups spame ich die Mailbox x mit Tausenden von Mails voll...

Du musst nicht Einblick in die Datei bekommen. Es reicht, wenn man einen Browser "simuliert" und wie ein Browser das Formular abschickt.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 25.09.2006, 00:07
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 20.12.2004
Beiträge: 9
Glödu befindet sich auf einem aufstrebenden Ast
Standard

Interessant! Und was kann ich dagegen tun?
Mit Zitat antworten
  #4 (permalink)  
Alt 25.09.2006, 00:20
Benutzerbild von Prophet
Hobbyscripter
XHTMLforum-Mitglied
 
Registriert seit: 01.09.2006
Beiträge: 341
Prophet befindet sich auf einem aufstrebenden Ast
Standard

IP des Absenders speichern und die uhrzeit des absendens. Wenn die gleiche IP zweimal in einer stunde versucht zu senden sagst du er darf nicht. Das wäre eine kleine unschöne lösung.

ALternativ gäbe auch noch die lösung einen Botschutz zu integrieren. Du kennst doch sicher diese Bilder mit zeichenketten drauf die du abtippen musst oder?
Solche bilder erstellst du dir oder lädst sie runter und dazu hast du im hintergrund eine datenbank in der steht welches bild zu welchem wert gehört.
Das ist so ziellich die effektifste methode glaube ich.
Wo du sowas herbekommst weiß ich allerdings nicht. Es gibt bestimmt generatoren dafür.
__________________
[SIGPIC][/SIGPIC]
Mit Zitat antworten
  #5 (permalink)  
Alt 25.09.2006, 11:13
Benutzerbild von Geronimo
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.06.2004
Beiträge: 2.641
Geronimo sorgt für eine eindrucksvolle AtmosphäreGeronimo sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Glödu
[...] seit einigen Tagen werde ich von hunderten eMails überschwemmt, welche an die in kontakt.php festgelegte eMail-Adresse und über den von mir benutzten Mail-Server (aber nicht mit dem von mir festgelegten Betreff) an mich verschickt werden. [...] Mir ist nicht klar, wie der/die das überhaupt fertigbringt/en, da ich selbst es per Browser nicht schaffe, Einblick in die in der PHP-Datei angegebenen Daten zu bekommen.
Den Betreff abzuändern ist kein Problem, da er direkt im Formular hinterlegt wurde. Ein Einblick in das PHP-Script ist überhaupt nicht notwendig.
Mit Zitat antworten
  #6 (permalink)  
Alt 25.09.2006, 18:32
Glühend, brennend Rot
XHTMLforum-Mitglied
 
Registriert seit: 12.08.2006
Ort: Riehen
Beiträge: 152
Wasili befindet sich auf einem aufstrebenden Ast
Standard

Ich würde diese Möglichkeit bevorzugen:
Einfache Fragen, die zufälligerweise aus der Datenbank ausgelesen werden mit zufälligem name-Attribut.
Damit verwirrst du Bots scharf.
Wenn das Feld nicht ausgefüllt wird => Block
Wenn es falsch ist => Block

Einfache Fragen wären zum Beispiel "Du hast 3 Eier und verteilst diese an 3 Kinder. Wieviele Eier bekommt jedes Kind?"

Diese Fragen kann ja wohl jeder Primarschüler lösen. Konnte sogar mein kleiner Bruder lösen als er im Kindergarten war ^^
Ein paar solche Fragen, zufällig ausgelesen, und du hast eine weniger Barrierebehaftete Lösung.
Wenn ich zum Beispiel grad mit der Shell rumsurfe seh ich diese Bildchen net ^^
Mit Zitat antworten
  #7 (permalink)  
Alt 26.09.2006, 16:27
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.07.2005
Beiträge: 1.073
xm22 befindet sich auf einem aufstrebenden Ast
Standard

Am besten dann so viele Fragen wie möglich und die Fragetexte als Bild darstellen. Ich denke, dann hast Du einen ziemlich guten Schutz...
__________________
... Meine Meinung
Mit Zitat antworten
  #8 (permalink)  
Alt 26.09.2006, 17:38
Benutzerbild von Geronimo
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.06.2004
Beiträge: 2.641
Geronimo sorgt für eine eindrucksvolle AtmosphäreGeronimo sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von slayer2205
Ich denke, dann hast Du einen ziemlich guten Schutz...
Stimmt. Sperrst aber auch zahlreiche Besucher aus. Besser wäre eine simple Rechnung, deren Ergebnis in ein Textfeld eingetragen werden muss (so in der Art 2+3=x)?
Mit Zitat antworten
  #9 (permalink)  
Alt 26.09.2006, 18:35
Glühend, brennend Rot
XHTMLforum-Mitglied
 
Registriert seit: 12.08.2006
Ort: Riehen
Beiträge: 152
Wasili befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von slayer2205
Am besten dann so viele Fragen wie möglich und die Fragetexte als Bild darstellen. Ich denke, dann hast Du einen ziemlich guten Schutz...
Super Idee. Und jeder User ohne grafische Oberfläche, User, die aus Prinzip keine Bilder anzeigen lassen (Gibts das? ^^) werden erneut ausgesperrt. Genau deshalb hab ich ja diese Alternative gebracht... Warum das Bild?
Mit simplen, Deuschten Sätze kannst du da viel machen. Spielen. "Siebzehn multipliziert mit eins."
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 30.09.2006, 18:16
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 20.12.2004
Beiträge: 9
Glödu befindet sich auf einem aufstrebenden Ast
Standard

Beim beschriebenen Problem hatte es sich um eMail-Injection gehandelt. Die im Internet dazu gefundenen Lösungsvorschläge waren vielfältig, und – um zu verstehen, was ich tue – musste ich mich zuerst ein wenig in PHP einarbeiten.

Der erste Lösungsversuch war ein leeres und durch CSS unsichtbar gemachtes Eingabefeld im Kontaktformular einzubauen. Das PHP-Script sollte die Mitteilung nur abschicken können, wenn das anfangs leere und unsichtbare Feld immer noch leer bleib. Trotz dieser Massnahme wurden aber weiterhin unerwünschte Werbe-eMails über mein Kontaktformular verschickt.

Unbefriedigend an dieser Lösung war zudem, dass das leere Feld, welches leer bleiben musste, ohne CSS sichtbar war. Also musste eine andere Lösung her.

Unterdessen bin ich zwar immer noch PHP-Neuling, habe nun jedoch eine Lösung zusammengebastelt, die bis jetzt zu funktionieren scheint.

Einer meiner Fehler war gewesen, den Betreff im HTML-Dokument festzulegen. Dieser ist jetzt wie alle andern Angaben auch im PHP-Script integriert.

Die einzeiligen Eingabefelder werden auf eventuell vorkommende, eingeschleuste Zeilenumbrüche überprüft. Das mehrzeilige Textfeld für die Mitteilungen wird auf Ausdrücke wie to:, cc: und bcc:, aber auch auf Worte wie V*i*a*g*r*a und ähnliches kontrolliert. Wenn keine dieser Eingaben vorkommt und auch alle andern Eingaben als richtig anerkannt werden, kann die Mitteilung verschickt werden.

Danke für die hier gegebenen Tipps!
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kontaktformular nur per PHP? suppenelse Serveradministration und serverseitige Scripte 6 12.03.2010 19:42
PHP Kontaktformular und verschiedene Browser HTMLLernender (X)HTML 1 22.01.2010 12:08
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 19:09
Sicherheit von eigenem PHP Kontaktformular Lloyd Larkin Serveradministration und serverseitige Scripte 13 01.10.2006 13:02


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:15 Uhr.