Geht eine Gefahr von Formularen aus?

linkbote

Mitglied
Hallo
Ich habe 3 Seiten auf denen ich Formulare verwende. Die Formulare beinhalten Eingabefelder wie E-Mailadresse, Name, Betreff, und ein Feld in dem man mehrzeiligen Text schreiben kann. Die Formulare werden mittels einer php Datei abgearbeitet und senden mir dann das eingegebene an meine E-Mail.
Jetzt ist da so ein Verrückter der füllt alle Felder mit für mich undefinierbaren Inhalten/Links und sendet das Formular ab. In dem Eingegeben sind Urls enthalten die existieren garnicht, soll heissen sie sind garnicht bei der Denic registriert.
Ein Weiteres ist es sind garnicht immer die Originalformulare die ich dann erhalte, als wenn er seine eigenen Formulare gestaltet und an mich sendet.
Was mir noch aufgefallen ist, er ist garnicht zu der Zeit auf meiner Seite wenn er die Formulare abschickt
Die Frage nun, was bezweckt er damit und kann er irgendwelchen Schaden anrichten. Klar wenn ich jetzt so einen Link anklicke kann ich mir Viren und Trojaner einfangen, das ist mir klar. Nein das meine ich nicht, ich meine wenn er schon andere Formulare benutzt ist er in der Lage meinen Besuchern oder meiner Domain zu schaden?

Gruss
linkbote
 
Prinzipell ja, davon kann eine Gafahr ausgehen.
Dieses Formular kann z. B. dazu missbraucht werden, um aus den Server ein sogenanntes "Open Relay" zu machen. Möglich wäre es, dass dadruch der Server auf eine Blacklist landet. Je nach Funktionsweise, Programmierung und Serverkonfiguration sind aber auch durchaus noch schwerwiegendere Angriffe möglich.



MfG Sascha Ahlers
 
Erstmal herzlichen Dank für deine schnelle Antwort Sascha.

Das hört sich nicht gut an was du sagst.
Von dem Open Relay bekomme ich da etwas von mit, oder ist, wenn ich die Seiten noch erreichen kann alles in Ordnung? Hat dann mein Hoster die Probleme, dann müste ich ihn darauf hinweisen das so etwas passiert?
Oder soll ich lieber die Formulare stillegen, und wenn stillegen für immer, oder andere Namen geben.

Also automatisiert hat er es wohl nicht, in der Zwischenzeit kam nichts Neues. Scheint sich um Handeinträge zu handeln, na ja vielleicht wird er es leid.

Ich bezeichne sowas mal als Angriff und bin deshalb etwas nervös, ist halt das erstemal das soetwas passiert.

Gruss
linkbote
 
QUOTE (linkbote @ Sa 28.1.2006, 20:20)[...] Von dem Open Relay bekomme ich da etwas von mit, oder ist, wenn ich die Seiten noch erreichen kann alles in Ordnung? [...]

Open Relay heißt, das jeder beliebig E-Mails über einen Server versenden kann, ob Du davon was mitbekommst oder ob es geht, dass hängt wie oben bereits erwähnt von der Programmierung und der Funktionsweise ab.




QUOTE (linkbote @ Sa 28.1.2006, 20:20)[...] Hat dann mein Hoster die Probleme, dann müste ich ihn darauf hinweisen das so etwas passiert? [...]

Kann man pauschal nicht sagen, bei einen dedizierten Server (oder auch sogenannten "Root-Server", besser passt jedoch die andere Bezeichnung), bist Du selber veranwortlich. Ein Webhoster kann aber meistens auch erst etwas sagen, wenn er was merkt. Dazu musst meistens jedoch erst was passieren, bei einen OpenRelay müsste man entweder Beschwerden bekommen oder auf entsprechenden Blacklists laden.



QUOTE (linkbote @ Sa 28.1.2006, 20:20)[...] Oder soll ich lieber die Formulare stillegen, und wenn stillegen für immer, oder andere Namen geben. [...]

Dass musst Du entscheiden, wenn es nicht sicher ist, würde ich es stilllegen.




QUOTE (linkbote @ Sa 28.1.2006, 20:20)[...] Ich bezeichne sowas mal als Angriff und bin deshalb etwas nervös, ist halt das erstemal das soetwas passiert. [...]

Meine Log-Dateien sind voll von Angriffen, eine gewissen Angriffszahl in den Log-Dateien zu haben ist relative normal, sobald es aber zunimmt oder ein Erfolg in den Logs auftritt, sollte man sich gedanken machen.
Wichtigste Regel ist halt, den Umständen entsprechend alles gut zu sichern und natürlich starke die Passwörter zu verwenden (und ggf. auch regelmäßig zu ändern).



MfG Sascha Ahlers
 
Hallo nochmals

In der Zwischzeit war er noch 2 mal da, schaun wir mal wie es weitergeht.

QUOTE Meine Log-Dateien sind voll von Angriffen, eine gewissen Angriffszahl in den Log-Dateien zu haben ist relative normal,


Habe ich mir inzwischen auch so gedacht, es kann ja eigentlich nicht sein das immer alles ruhig geht, sind halt viele komische Menschen unterwegs. Was die für eine Energie für so einen Mist aufbringen.

Einen schönen Abend noch.
linkbote
 
Formulare können wirklich gefährlich werden.
Sascha hat's ja schon geschrieben, dass man Formulare als Mail-Relay misbrauchen kann.
Dann kann man auch Java-Scripts und anderen Code damit versenden. Wenn du dann nicht aufpasst, hast du plötzlich Codeschnippsel in deiner Mailbox und wenn du Outlook verwendest und nicht genug abgesichert hast, dann kann's ins Auge gehen.
Da du PHP verwndest, würde ich vor dem Absenden des FORM Inhaltes, einen oder zwei Tests einfügen. z.B. kannst du auf {} und <> testen. Andere Tests nicht ausgeschlossen.
Cheers
René
 
Ab und zu bemerke ich auf meinen (Kontakt-) Formularen automatisiert abgeschickte Anfragen. Dort wird dann einfach auf Schwachstellen geprüft, zum Glück ist bisher noch nichts ernsthaftes passiert. Aber du solltest deine Eingabefelder wie bereits gesagt auf jeden Fall prüfen vor dem Abschicken.

Z.B. bei E-Mail Feldern kann dein Formular sonst schnell zum Versenden von Massen-Spam-Mails missbraucht werden. Suche einfach mal nach "E-Mail injection"...
 
Hallo

Er war wieder 3 mal da.

@René
QUOTE Dann kann man auch Java-Scripts und anderen Code damit versenden. Wenn du dann nicht aufpasst, hast du plötzlich Codeschnippsel in deiner Mailbox und wenn du Outlook verwendest und nicht genug abgesichert hast, dann kann's ins Auge gehen.

Java-Scripts und anderer Code ist das irgendwie sichtbar, so in der Form wie html, oder kann das auch unsichtbar sein? Ich benutze ein Virenprogramm und eine Firewall, es hört sich so an als wenn du das aber nicht meintes.


QUOTE Da du PHP verwendest, würde ich vor dem Absenden des FORM Inhaltes, einen oder zwei Tests einfügen. z.B. kannst du auf {} und <> testen. Andere Tests nicht ausgeschlossen.

Bis ich diese Zeilen wirklich umsetzen kann muss ich noch lernen.



@magadoo

QUOTE Suche einfach mal nach "E-Mail injection"...

Danke für den Tipp, ich habe jetzt die Beiträge dazu gelesen und muss bemerken, das ist noch ein bisschen viel für mich.


Meine weitere Vorgehensweise wird so sein das ich die Formulare erstmal deaktiviere. Dann werde ich mich weiter einlesen um hoffentlich richtig Handeln zu können.

Gruss und Dank
linkbote
 
^^ ich muss mich da auch mal einmischen.

Also ich hab ein Postscript geschrieben. Es dient dazu, dass sich User innerhalb eines Systems unterhalten können. (so art PM)

Da der Inhalt ja wieder in HTML angezeigt wird, war es für mich wichtig, dass der user kein HTML verwenden darf.

QUOTE
$subject = ereg_replace("<", "<", $subject);
$subject = ereg_replace(">", ">", $subject);



^^ vielleicht hilft dir das. Geht so:
in der variable $subject steht der text, den du bearbeiten willst.
dann wird nach < gesucht und durch &lt ersetzt. &lt ist das gleiche zeichen, nur dass es von HTML nicht mehr als dieses erkennt wird. Wegen der vollständigkeit hab ich das ganze noch mit > gemacht. Ist aber nicht notwendig weil es ohne < kein html geben kann.

Vielleicht hat dir das geholfen.
 
Hallo,

filtere alle übermittelten Felder mit
CODE strip_tags()


Das entfernt in der Regel jeden HTML und PHP Quellcode.


Um sicher zu gehen, dass die Anfrage auch von dem von dir gedachten Formular kommt, checke doch einfach den Referer.


CODE if($_SERVER['HTTP_REFERER'] != "http://www.deine-seite.tld/dein_formular.php")
{
    die("fehlermeldung");
}


Nur wenn der okay ist, wird das Formular versendet.
 
Hallo
cd_brenner und QBFinest

Erstmal herzlichen Dank für Eure Anteilnahme.

Ich muss jetzt erstmal meinen Wissensstand darlegen, dann versteht ihr besser warum ich euch noch nicht so richtig folgen kann. Die Webseiten erstelle ich mit Netobject Fusion, die Formulare erstelle ich mit Visual Form Maker und binde sie dann in Netobjects ein. Visual Form Maker macht mit eine html und eine php Datei. Das Profis so nicht arbeiten ist mir klar, aber es ist einfach. Ich habe auch schon mal eine kleine Seite mit Phase5 gemacht, ich kann aber kein php.

@cd_brenner
Wirklich herzlichen Dank aber ich verstehe dich noch nicht.

@QBFinest
Du hast mir 2 Codes gegeben. Wo muss ich die einfügen?

Gruß
linkbote
 
Hallo, poste bitte den Link zu Formular und den kompletten Code der PHP Datei. Da kann ich dir am schnellsten helfen.
 
Alle bisherigen Vorschläge reduzieren höchstens den Html-Code, das hat aber nichts mit E-Mail injection zu tun. Erst das ist doch die eigentliche Spamschleuder, die den eigenen Rechner auf die Blacklist befördert, so daß alle Provider Mails von diesem Rechner ablehnen.
 
QUOTE (QBFinest @ Mi 8.2.2006, 19:09)[...]

CODE if($_SERVER['HTTP_REFERER'] != "http://www.deine-seite.tld/dein_formular.php")
{
    die("fehlermeldung");
}

[...]

Auf den Referer zu testen ist einfach nur Sinnlos, da dieser Ersten nicht zum Standard gehört und von daher nicht unbedingt übermittelt werden muss, zum Anderen ist der Referer sehr leicht zu fälschen, vor missbraucht wird diese Abfrage nicht schützen.

Den HTML- und PHP-Code zu entfernen ist fraglich, es kommt hierbei darauf an, wie das Script aufgebaut ist, und die E-Mail aufgebaut wird.
Unter Umständen ist es nur einen weitere Funktion, welche mehr Ärger als Nutzen bringt, das Gleiche gilt für die Referer-Abfrage.



MfG Sascha Ahlers

PS: Ach ja, und wie bereits erwähnt, wird das eigentliche Problem nicht gelöst.
 
Naja, da ja die letzten beiden Posts nur erklären was alles fraglich und/oder sinnlos ist, würde ich vorschlagen, dass diese beiden User mal ihrer Meinung nach vernünftige Lösungsvorschläge bringen, sonst löst sich das Problem wohl kaum...
 
Hallo

@QBFinest
Hier ist der Link zu dem Formular, eine PN mit der php kann ich Dir leider nicht schicken, ich bin noch zu neu hier im Forum und da geht das noch nicht. Aber Du kannst Dir ja mal das Formular ansehen und eine E-Mail hinterlassen, ich schicke Dir dann die Datei.
Der Link

@jAuer
Du siehst es richtig, ich möchte mich weitgehends vor Spam schützen aber noch wichtiger ist mir die Sicherheit. Damit meine ich einfach das mir keiner was schickt was mir gefährlich werden kann. Das Formular muss so aufgebaut sein das nichts gefährliches auf meinen PC übertragen wird das nicht ein Virenwächter erkennt.

Gruss
linkbote
 
QUOTE (QBFinest @ Do 9.2.2006, 0:17)[...], würde ich vorschlagen, dass diese beiden User mal ihrer Meinung nach vernünftige Lösungsvorschläge bringen, sonst löst sich das Problem wohl kaum...

Sauberer Quellcode ist erstmal die Grundvoraussetzung. Nur leider sehe ich hier auch leider keinen Quellcode, um überhaupt mal zu wissen, was vielleicht schief laufen könnte. Ich habe nicht wirklich Lust dabei ganz von Vorne anfangen zu müssen.
  • Steht register_globals auf Off?
  • Werden die Eingaben überhaupt kontrolliert?
  • Wie sieht der Quellcode aus?

Die beste Methode ist natürlich ein Kontakt-Formular ganz zu vermeiden.



MfG Sascha Ahlers
 
Also mit Javascript zu überprüfen is schon mal völlig daneben.

Jetzt mal was zu der Open Relay Sache...

Das liegt ja vorrangig am Mailserver, wenn aber nun wie in diesem Fall das Formular an eine im PHP Code fest definierte email Adresse versendet wird, sehe ich nicht so ganz wo das Problem liegen soll. Kann mir das bitte mal jemand erklären? Und ganz auf ein Formular zu verzichten ist ja wohl keine Lösung.

EDIT
===

Dein Formular kann zum Spammen mißbrauch werden, da die email Adresse an die es gesendet wird mit dem hidden field ToMail übertragen wird.
 
QUOTE (QBFinest @ Do 9.2.2006, 0:46)[...] Das liegt ja vorrangig am Mailserver, wenn aber nun wie in diesem Fall das Formular an eine im PHP Code fest definierte email Adresse versendet wird, sehe ich nicht so ganz wo das Problem liegen soll. Kann mir das bitte mal jemand erklären? [...]

Das muss nicht unbedingt so sein, bei den Formularen wird oft auch mit dem Sendmail-Befehl gearbeitet und nicht direkt über eine (E)SMTP-Verbindung, dies kann einen erheblichen Unterschied ausmachen.

Man unter umständen auch die Header-Felder missbrauchen, oder bei einen schlechten Script einfach die Variablen überschreiben, da ich den Code nicht kenne, kann ich dazu leider keine wirklich Aussage machen.



QUOTE (QBFinest @ Do 9.2.2006, 0:46)[...] Und ganz auf ein Formular zu verzichten ist ja wohl keine Lösung.

Nun, es stellt eine mögliche Lösung dar, ob es aber die erwünschte Lösung ist, das steht auf einem anderen Blatt geschrieben.



MfG Sascha Ahlers

PS: Eine weitere Möglichkeit hast Du gerade genannt.
 
Zurück
Oben