Kennen Sie das? Sie besuchen eine Webseite und finden zwar einen „Kontakt”-Bereich, aber die E-Mail-Adresse ist nicht direkt als anklickbarer Link hinterlegt, sondern scheint aufwändig verschlüsselt zu sein. Oftmals steckt dahinter JavaScript, das die E-Mail-Adresse erst im Browser zusammensetzt, um Spam-Bots auszutricksen. Aber ist das wirklich sicher? Und wie kommen Sie trotzdem an die Adresse?
Warum E-Mail-Adressen verschlüsselt werden
Die Motivation hinter dieser Technik ist simpel: Spam-Bots durchkämmen das Internet auf der Suche nach E-Mail-Adressen, um diese in ihre Verteilerlisten aufzunehmen. Je mehr Webseiten eine E-Mail-Adresse ungeschützt anzeigen, desto höher ist die Wahrscheinlichkeit, dass sie mit Spam überflutet wird. Die Verschlüsselung, speziell durch JavaScript, soll diese automatisierten Bots austricksen, da sie den Code oft nicht interpretieren können.
Allerdings ist diese Methode kein Allheilmittel. Erfahrene Spammer und ihre Bots werden immer raffinierter. JavaScript-Verschlüsselung ist oft nur eine leichte Hürde, die relativ einfach zu überwinden ist. Es ist eher ein Schutz vor den „einfachen” Bots als vor gezielten Angriffen.
Wie funktioniert JavaScript-Verschlüsselung typischerweise?
Es gibt verschiedene Ansätze, um eine E-Mail-Adresse mit JavaScript zu verschlüsseln. Hier einige der häufigsten Methoden:
- Ersetzen von Zeichen: Die E-Mail-Adresse wird in ihre Bestandteile zerlegt und einzelne Zeichen oder Zeichenketten werden durch andere ersetzt. Beispielsweise wird „@” durch „[at]” ersetzt oder „.” durch „[dot]”. JavaScript ersetzt diese Platzhalter dann wieder durch die Originalzeichen, bevor die Adresse angezeigt wird.
- ASCII-Codes: Jedes Zeichen der E-Mail-Adresse wird durch seinen entsprechenden ASCII-Code dargestellt. JavaScript wandelt diese Codes dann zurück in lesbare Zeichen.
- Umkehrung der Zeichenfolge: Die E-Mail-Adresse wird umgekehrt und JavaScript dreht sie beim Anzeigen wieder um.
- Aufteilung in Variablen: Die E-Mail-Adresse wird in mehrere Variablen aufgeteilt und JavaScript setzt diese Variablen dann zur vollständigen Adresse zusammen.
- Base64-Kodierung: Die E-Mail-Adresse wird Base64-kodiert, wodurch sie für den menschlichen Betrachter unleserlich wird. JavaScript dekodiert sie dann, bevor sie angezeigt wird.
So „knacken” Sie den Code: Methoden zur Entschlüsselung
Glücklicherweise ist es in den meisten Fällen relativ einfach, eine JavaScript-verschlüsselte E-Mail-Adresse zu entschlüsseln. Hier sind einige bewährte Methoden:
1. Quellcode analysieren
Der direkteste Weg ist, den Quellcode der Webseite zu untersuchen. Die meisten Browser bieten eine Möglichkeit, den Quellcode anzuzeigen (oft über Rechtsklick -> „Seitenquelltext anzeigen” oder über die Entwicklertools). Suchen Sie nach Begriffen wie „email”, „mail”, „[at]”, „[dot]”, „charCodeAt”, „base64”, oder ähnlichen Hinweisen, die auf die Verschlüsselung hindeuten könnten. Achten Sie auf JavaScript-Blöcke (eingeschlossen in <script> Tags). Oft finden Sie dort den Code, der die E-Mail-Adresse zusammensetzt. Lesen Sie den Code aufmerksam durch. Manchmal ist die Logik offensichtlich und Sie können die Adresse direkt aus dem Code extrahieren.
Beispiel:
<script>
var user = "john.doe";
var domain = "example.com";
var email = user + "@" + domain;
document.write('<a href="mailto:' + email + '">' + email + '</a>');
</script>
In diesem einfachen Beispiel ist die E-Mail-Adresse `[email protected]` leicht erkennbar.
2. Entwicklertools des Browsers nutzen
Die Entwicklertools moderner Browser (Chrome, Firefox, Safari, Edge) sind extrem hilfreich. Öffnen Sie die Entwicklertools (meist mit F12 oder Rechtsklick -> „Untersuchen”).
- Elemente-Tab: Hier können Sie das DOM (Document Object Model) der Seite inspizieren und sehen, wie JavaScript die Elemente verändert. Suchen Sie nach dem Bereich, in dem die E-Mail-Adresse angezeigt werden soll. Manchmal sehen Sie dort bereits die entschlüsselte Adresse, nachdem JavaScript sie generiert hat.
- Konsole-Tab: Sie können JavaScript-Code direkt in der Konsole ausführen. Wenn Sie den Code zur Entschlüsselung im Quellcode gefunden haben, können Sie ihn hier ausführen, um die E-Mail-Adresse zu erhalten.
- Debugger-Tab: Sie können den JavaScript-Code Schritt für Schritt durchgehen (debuggen), um zu verstehen, wie die E-Mail-Adresse generiert wird. Setzen Sie Breakpoints, um den Code an bestimmten Stellen anzuhalten und die Variablen zu inspizieren.
3. JavaScript deaktivieren
In einigen Fällen können Sie einfach JavaScript im Browser deaktivieren. Wenn die Webseite nicht darauf ausgelegt ist, ohne JavaScript zu funktionieren, wird die E-Mail-Adresse möglicherweise unverschlüsselt angezeigt (oder gar nicht). Dies ist zwar nicht immer die eleganteste Lösung, kann aber in manchen Fällen schnell zum Ziel führen. Beachten Sie, dass das Deaktivieren von JavaScript die Funktionalität anderer Webseiten beeinträchtigen kann.
4. NoScript-Erweiterung (Firefox)
Die NoScript-Erweiterung für Firefox bietet eine feinere Steuerung von JavaScript. Sie können JavaScript selektiv für einzelne Webseiten aktivieren oder deaktivieren. Dies kann hilfreich sein, wenn Sie JavaScript nur für die Anzeige der E-Mail-Adresse aktivieren möchten und es danach wieder deaktivieren, um potenzielle Sicherheitsrisiken zu minimieren.
5. Online-Tools und Browser-Erweiterungen
Es gibt auch verschiedene Online-Tools und Browser-Erweiterungen, die speziell dafür entwickelt wurden, JavaScript-verschlüsselte E-Mail-Adressen zu entschlüsseln. Diese Tools analysieren den Quellcode der Webseite und versuchen, die Verschlüsselung automatisch zu erkennen und aufzulösen. Seien Sie jedoch vorsichtig bei der Verwendung solcher Tools, da einige davon möglicherweise bösartigen Code enthalten oder Ihre Daten sammeln könnten. Recherchieren Sie gründlich, bevor Sie ein solches Tool verwenden.
Beispiele für Entschlüsselungstechniken
Hier sind einige konkrete Beispiele, wie Sie die oben genannten Methoden anwenden können:
- Ersetzte Zeichen: Wenn Sie im Quellcode etwas wie `john[at]example[dot]com` sehen, ersetzen Sie einfach `[at]` durch `@` und `[dot]` durch `.`, um die vollständige E-Mail-Adresse zu erhalten.
- ASCII-Codes: Wenn Sie eine Reihe von Zahlen wie `106, 111, 104, 110, 46, 100, 111, 101, 64, 101, 120, 97, 109, 112, 108, 101, 46, 99, 111, 109` sehen, handelt es sich wahrscheinlich um ASCII-Codes. Sie können diese in der Browser-Konsole mit folgendem JavaScript-Code in Zeichen umwandeln: `String.fromCharCode(106, 111, 104, 110, 46, 100, 111, 101, 64, 101, 120, 97, 109, 112, 108, 101, 46, 99, 111, 109)`
- Base64-Kodierung: Wenn Sie eine lange Zeichenkette wie `am9obi5kb2VAZXhhbXBsZS5jb20=` sehen, handelt es sich wahrscheinlich um Base64-kodierte Daten. Sie können diese in der Browser-Konsole mit folgendem JavaScript-Code dekodieren: `atob(‘am9obi5kb2VAZXhhbXBsZS5jb20=’)`
Fazit
Die JavaScript-Verschlüsselung von E-Mail-Adressen ist zwar ein gängiger Ansatz, um Spam-Bots abzuwehren, aber sie ist in der Regel nicht sehr effektiv gegen erfahrene Spammer. Mit den richtigen Werkzeugen und Techniken ist es oft relativ einfach, diese Verschlüsselung zu umgehen und an die eigentliche E-Mail-Adresse zu gelangen. Die Analyse des Quellcodes, die Nutzung der Entwicklertools des Browsers und das Deaktivieren von JavaScript sind die gängigsten Methoden. Denken Sie jedoch immer daran, verantwortungsvoll mit den gewonnenen Informationen umzugehen.