Alexander (HH): Web beacon

Beitrag lesen

Moin Moin!

Angaben wie
  <img src="http://evil.example.com/bild.jpg>
sind demnach harmlos?

Nein! Woher weißt Du, das sich hinter der Ressource http://evil.example.com/bild.jpg eine statische JPG-Datei steckt?
Es könnte eben so gut ein Script dahinterstecken.

Und nicht einmal das ist nötig.

Ich schicke John Doe eine Kündigung per Mail, die <img src="http://evillogger.example.com/john-doe-kuendigung-gelesen.gif" alt=""> enthält.

Dann lasse ich (ACHTUNG, BRUTE FORCE) regelmäßig folgendes Kommando laufen:

grep john-doe-kuendigung-gelesen.gif /server/www/logs/access.log

Irgendwann wird eine Zeile wie

192.168.168.192 - - [04/Jul/2008:20:13:01 +0200] "GET /john-doe-kuendigung-gelesen.gif HTTP/1.1" 200 611

herausfallen. Voila, Lesedatum und IP-Adresse. Mit erweitertem Logging auch noch der User Agent.

Ich müßte mir noch nicht einmal die Mühe machen, ein Bild hochzuladen, mod_rewrite oder ein error-handler könnten auf ein anderes Bild verweisen. Oder ich lasse es komplett weg und bekomme statt der 200 ein 404, die ich im (meist kleineren) error-log auch noch schneller finden kann.

Das im Mail-Client vielleicht ein "Broken Image"-Icon auftaucht, ist mir in dem Moment völlig egal, denn die Lesebestätigung habe ich in dem Moment schon.

Und genau deshalb sollte kein brauchbarer E-Mail-Client irgendwelche Resourcen von externen Systemen laden, jedenfalls nicht ohne vorher zu fragen.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".