Der erste April ist leider schon vorbei aber klar ist: E-Mails mit falschen Absenderadressen (also Fake Mails) zu schicken ist ein weit verbreiteter Scherz. Eine ähnliche Technik wird verwendet um sogenannte Phishing Mails zu versenden und Empfänger in die Irre zu führen.
Kein Wunder wenn die Technik dahinter so einfach ist, zumindest wenn man keine hohen Ansprüche an die gefälschte Mail setzt. Mit etwas Know-How lassen sich solche Mails entlarven.
Wir wollen uns heute das Grundgerüst eines Fakemailers ansehen.

Ihr braucht dazu erstmal eine PHP-fähige Plattform. Das ist also ein Webserver oder eine lokale Webserverinstallation wie XAMPP.

Der Fakemailer selbst besteht aus 2 Dateien. Da ich Aussehen und PHP Code aus Übersichtsgründen trenne wird eine .html Datei das Design des Formulars bestimmen und eine .php Datei kümmert sich um das Verarbeiten und Versenden der Daten. Man könnte Formular und PHP Code auch in 1 Datei packen, zusammen mit integrierten CSS Styles, aber etwas Stil muss sein!

Hier der Inhalt meiner .html Datei:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
<form action="phpfake.php" method="post">
<table border="0">
<tbody>
<tr>
<td>Empfänger (Mail) :</td>
<td><input name="to" type="text" size="90" /></td>
</tr>
<tr>
<td>Von (Mail) :</td>
<td><input name="from" type="text" size="90" /></td>
</tr>
<tr>
<td>Von (Name) :</td>
<td><input name="name" type="text" size="90" /></td>
</tr>
<tr>
<td>Betreff :</td>
<td><input name="subject" type="text" size="90" /></td>
</tr>
<tr>
<td>Nachricht :</td>
<td><textarea cols="70" rows="10" name="message"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Send" /></td>
</tr>
</tbody></table>
</form>
</html>

So sieht es aus:
1x1.trans PHP Fakemailer leicht gemacht
Absolut keine Muster-.html aber es geht ja nur darum, dass ihr schnell zum Ziel kommt, anpassen und optimieren kann jeder für sich.

Die erste Zeile schickt die ausgefüllten Formulardaten an folgenden PHP Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
< ?php
$to=$_POST['to'];
$from=$_POST['from'];
$name=$_POST['name'];
$absender = $name.' <'.$from.'>';
$headers .= 'From:' . $absender . "\n";
$headers .= 'Reply-To:' . $from . "\n";
$subject=$_POST['subject'];
$message=$_POST['message'];
 
$ret=mail($to, stripslashes($subject), stripslashes($message), $headers);
if($ret==true)
echo "<br /> Mail sent Successfully";
else
echo "<br /> Unable to Send mail";
?>

Die mail(); Funktion aus Zeile 11 erledigt den Mailversand.
stripslashes(); ermöglicht einfache Backslashes in eurem Mailbetreff und -text.

Die Dateien einfach auf den besagten Server laden, die .html aufrufen, ausfüllen und auf den Senden Button klicken.
Das Ergebnis ist beunruhigend überzeugend, der einfache Header gibt keine Hinweise auf einen gefälschten Absender preis.
1x1.trans PHP Fakemailer leicht gemacht

Nur der erweiterte Header gibt Aufschluss von wem diese Mail wirklich kommt:

Received: from dd11438.kasserver.com (dd11438.kasserver.com [85.13.133.243])
by mx.kundenserver.de (node=mxeu3) with ESMTP (Nemesis)
id 0MV5j7-1O1Mvp1aSj-00YTu9 for hannes.schurig@online.de; Thu, 08 Apr 2010 21:26:04 +0200
Received: by dd11438.kasserver.com (Postfix, from userid 1086)
id 20A6B56E0C9; Thu, 8 Apr 2010 21:26:04 +0200 (CEST)

Aber clever eingesetzt ist ein Schrecken der Zielperson garantiert.
Einfach, huh!?