Kontakformular - Sicherheitsproblem

Abend zusammen...

Mal abgesehen von dem Schlupfloch...
Wenn doch wirklich nur das Subjekt Feld anfällig ist für header angriffe dann stellt sich doch die Frage ob man den Subjekt den der User einträgt eben NICHT als Subjekt der e-mail verwendet.
Wenn das Formular doch sowieso nur an dich versendet wird reicht es doch wenn du einen festen Subjekt einträgst. z.B. "Frage von www.keineAhnung.de".
Der Subjekt des Users wird dan einfach in der Mail ganz an den Anfang gesetzt.

Wäre doch auch eine möglichkeit.... Oder?

MfG

Ecthelion
 
Gumbo hat gesagt.:
Ich glaube das Schlupfloch gefunden zu haben: Entferne einfach alle Zeilenumbruchzeichen des Werts der $contact_from-Variable.
PHP:
function stripLinebreaks( $string )
{
	return preg_replace('/\x0A|\x0D\x0A|\x0D/s', '', $string);
}


Wenn ich in das Subject Feld z.B. das hier eingebe: "Hallo\nTest", dann kommt ja bei mir im Mail Client "Hallo\\nTest" an, also hat PHP das \n schon selbst escaped, muss dann Dein preg_replace Code trotzdem noch sein?


Ecthelion hat gesagt.:
Abend zusammen...

Mal abgesehen von dem Schlupfloch...
Wenn doch wirklich nur das Subjekt Feld anfällig ist für header angriffe dann stellt sich doch die Frage ob man den Subjekt den der User einträgt eben NICHT als Subjekt der e-mail verwendet.

Da hast Du natürlich recht :) Wenn alles nix hilft, werde ich auf diese Lösung zurückgreifen. Nichts desto trotz würde ich natürlich gerne erfahren, wo das Problem liegt, bzw. wie es möglich ist, per Header das Kontaktskript für Spam auszunutzen.
 
DarthShader hat gesagt.:
Bei deinem Problem handelt es sicher aber eher darum, dass jemand oder ein Skript Dir Spam Mails schickt, ist das richtig? Da kann man sich natürlich nur mit einer Registrierung oder solchen Captchas helfen, bei mir ist das Problem jedoch, das ich ja gar nichts von dem Spam sehe, bei mir kommen nur leere Emails an, aber der Spammer schafft es eben, durch neue Header eine Spammail an Dritte zu schicken, eben über mein Skript.

Nein, nicht ganz.
Ich habe in der Nacht von Dienstag auf Mittwoch an die 300 Mails an meine Mail-Adresse bekommen. Viagra-Mails und Börsen-Mails...
Gleichzeitig sind aber über 6000 E-Mails zurückgekommen als Mail Delivery, die nicht zugestellt werden konnten. In der Mail Delivery waren dann jeweils noch so ca. 20 E-Mail-Adressen aufgeführt (alles AOL), die AOL schon von vornherein blockiert hat.
Und da ist ja immer die Mail angehängt, die ursprünglich verschickt wurde (oder es zumindest versucht wurde). Und das waren genau die gleichen, die ich auch gekriegt hab.

Also geh ich mal davon aus, dass irgendwer ein BCC in mein Kontaktformular reingekriegt hat und über das wurden dann die Spammails verschickt.

Aber die eigentliche Ursache hab ich bis jetzt auch nicht gefunden.

Viele Grüße,
Chandini
 
Chandini hat gesagt.:
Also geh ich mal davon aus, dass irgendwer ein BCC in mein Kontaktformular reingekriegt hat und über das wurden dann die Spammails verschickt.

Aber die eigentliche Ursache hab ich bis jetzt auch nicht gefunden.

Hm, dann scheint es ja wirklich dasselbe zu sein, womit ich zu kämpfen habe. Sobald ich mehr weiß, sag ich Dir bescheid.
 
Hast du schon meinen Vorschlag probiert, die möglichen Zeilenumbruchzeichen der E-Mail-Adresse zu entfernen?
 
Gumbo hat gesagt.:
Hast du schon meinen Vorschlag probiert, die möglichen Zeilenumbruchzeichen der E-Mail-Adresse zu entfernen?

Ja, ich habe es eingebaut. Allerdings hattest Du nicht auf meine Frage geantwortet - ich sagte, dass \n von PHP sowie als \\n ankommen, also er gar keine Zeilenumbrüche im Subjekt zulässt, ist dein Zeilenumbruch-Entfernungscode denn dann trotzdem sinnvoll?

Ich habe das Skript z.Z. wieder online gebracht, aber unter einer neuen URL und mit dem "Workaround", dass ein angegebener Betreff nicht wirklich der Email Betreff ist, sondern in der Email selbst auftaucht. Außerdem habe ich den Dateinamen sowie den Ort des Skriptes geändert, damit sich ein automatischer SpamBot daran erstmal nicht anpassen kann. Nun muss ich ersteinmal abwarten was passiert.
 
Zurück