Neuigkeiten:

still alive...

Hauptmenü

Hilfe Probleme mit Mail() injection

Begonnen von pledermann, 18. Dezember 2006, 20:38:51

Vorheriges Thema - Nächstes Thema

pledermann

Hallo,
bin ein absoluter anfänger,
habe von meinem Provider die meldung erhalten, \"ihr code wurde für spam missbraucht, wir bitten um korrektur dieses scripts\".
Nun weiss ich leider nicht mehr weiter, desshalb schreibe ich diesen Thread.
hier ist mein Code:
 


Restaurant\";
$controle = $set_key;
setlocale(LC_ALL, \\\'de_DE\\\');
$code = chr((date(\"y\") + 7) % 10 + date(\"m\") + 68 + (date(\"m\") % 2) * 32) . chr((date(\"d\") + (date(\"d\") %2)) / 2 + 66 + (37 * (date(\"d\") %2)));
if(!getmxrr(substr(strstr($_POST[\\\'email\\\'], \\\'@\\\'), 1), $mxhosts));{
}
if(empty($name))   {
 $stop = \"stop\";
 $stop_message .= \"Kein Namen Angegeben !\";
}
if(empty($vorname))   {
 $stop = \"stop\";
 $stop_message .= \"Kein Vorname Angegeben !\";
}
if(empty($mxhosts)){
 $stop = \"stop\";
 $stop_message .= \"Die E-mail \". $_POST[\\\'email\\\'] .\" hat keine oder Falsche zeichen !\";
}
if(empty($strasse))   {
 $stop = \"stop\";
 $stop_message .= \"Die Strasse fehlt !\";
}
if(empty($wohnort))   {
 $stop = \"stop\";
 $stop_message .= \"Der Wohnort fehlt !\";
}
if(empty($tel))   {
 $stop = \"stop\";
 $stop_message .= \"Deine Telefon / Natel Nr. fehlt !\";
}
if(empty($betreff))   {
 $stop = \"stop\";
 $stop_message .= \"Dein Betreff fehlt ( Wichtig ) !\";
}
if(empty($message))   {
 $stop = \"stop\";
 $stop_message .= \"Deine Nachricht fehlt ( Wichtig ) !\";
}
if(empty ($key_set)) {
$stop = \"stop\";
$stop_message .=\"Der Formular Code ist nicht richtig !\";
}
if($controle != $key_set) {
$stop = \"stop\";
$stop_message .= \"Der Formular Code Fehlt !\";
}
if (eregi(\\\'Content-Type:\\\', $name)) return false;
if (eregi(\\\'Content-Type:\\\', $email)) return false;
if (eregi(\\\'Content-Type:\\\', $betreff)) return false;
if (eregi(\\\'Content-Type:\\\', $message)) return false;
$name = preg_replace(\\\'/[\\\\n|\\\\r].*/\\\', \\\'\\\', $name);
$email = preg_replace(\\\'/[\\\\n|\\\\r].*/\\\', \\\'\\\', $email);
$betreff = preg_replace(\\\'/[\\\\n|\\\\r].*/\\\', \\\'\\\', $betreff);
$message = preg_replace(\\\'/[\\\\n|\\\\r].*/\\\', \\\'\\\', $message);
 
if ($stop == \"stop\"){
include (\"./include/error.php\");
}
else {
$betreffw = \"Anfrage von Webseite\";
$mailsender = \"info@xxxxxx.ch\";
$mailweb = \" User\";
$mail_web = \"$email?subject=$betreff\";
$namesender = \"Test\";
$titel = \"Das  Team\";
$date = date(\"d.m.Y\");
$uhr = date(\"H:i\");
$text = \"
Guten Tag $anrede $name,
Wir haben von Ihnen am $date, um $uhr folgende Nachricht erhalten;
--------------------------------------------------------------------------------
Anrede           :$anrede
Name             :$name
Vorname          :$vorname
Strasse          :$strasse
Wohnort          :$wohnort
Tel/Natel        :$tel
E-Mail           : $email
Betreff          :$betreff
--------------------------------------------------------------------------------
Nachricht        :$message
--------------------------------------------------------------------------------
Mit freundlichen Grüssen
$titel
--------------------------------------------------------------------------------
Wir werden uns umgehend um Ihre Anfrage / Kritik kümmern.
Sollte es sich um einen Irrtum handeln, informieren Sie uns bitte unter $mailsender\";
if(mail($_POST[\\\'email\\\'], $_POST[\\\'betreff\\\'], \"$text\", \"From: Webseite Horboden\" ));
$nachricht = \"
Hallo $namesender,
$anrede $vorname $name hat eine Nachricht an $date um $uhr für Euch geschrieben;
--------------------------------------------------------------------------------
Anrede           :$anrede
Name             :$name
Vorname          :$vorname
Strasse          :$strasse
Wohnort          :$wohnort
Tel/Natel        :$tel
E-Mail           : $email
Betreff          :$betreff
--------------------------------------------------------------------------------
Nachricht        :$message
--------------------------------------------------------------------------------
Mit freundlichen Grüssen
$titel
--------------------------------------------------------------------------------
$anrede $vorname $name hat eine Kopie dieses E-Mails Erhalten!!
--------------------------------------------------------------------------------
Test Du kannst auf den E-Mail link unten Klicken um zu Antworten
mailto:$mail_web\";
if(mail(\\\'info@xxxxxx.ch\\\', $_POST[\\\'betreff\\\'], \"$nachricht\", \"From: $mailweb\"));
include (\"./include/danke.php\");
}
?>

 
 
Wer kann mir helfen dieses script auf den richtigen weg zu bringen???
dammit ich das auch mal verstehen kann.
 
Bedannke mich schon jetzt für ihre hilfe
Gruss

Soweit ich das auf die Schnelle beurteilen kann, kann ein Angreifer beliebige Empfänger setzen. Das ist natürlich tödlich. Die Funktion, einem User eine Kopie der E-Mail zuzustellen, ist zwar gut gedacht, aber leider nicht gut implementiert.
Das $message keine Zeilenumbrüche enthalten darf ist auch eher seltsam.

all your base are belong to us / Discord