Freitag, 29. Januar 2010
Kleine Spamassassin Rule gegen Pillenlinks im Mailheader
Lustig, zur Zeit läuft eine Spamwelle, bei der die Pillenlinks (Viagra, Cialis...) im "From" des Mailheaders untergebracht werden. Der Textteil der Mails ist dann nur sinnfreie Buchstabensuppe.
Da war ja mal wieder jemand kreativ.
Im Allgemeinen werden die Mails von Spamassassin gut aussortiert. Falls das doch nicht der Fall wäre, hilft folgende Rule in der local.cf:
Da war ja mal wieder jemand kreativ.
Im Allgemeinen werden die Mails von Spamassassin gut aussortiert. Falls das doch nicht der Fall wäre, hilft folgende Rule in der local.cf:
header MINIVIAG From =~ /(Viagra|Levitra|Cialis) .*www\.[a-z0-9]{4,8}\.(com|net|org)/i
describe MINIVIAG Viagra link im from
score MINIVIAG 2.0
Update: Da bessere ich gleich noch mal nach.
describe MINIVIAG Viagra link im from
score MINIVIAG 2.0
header MINIVIAG From =~ /(Viagra|Levitra|Cialis|Tamiflu) .*www\.[a-z0-9-]{4,8}\.(com|net|org)/i
describe MINIVIAG Pillenlink im from
score MINIVIAG 2.0
describe MINIVIAG Pillenlink im from
score MINIVIAG 2.0
Mittwoch, 6. Januar 2010
Mailheader decodieren mit Hilfe von perl
Spamfilter können auf Wunsch die aussortierten Mails am Server speichern. An sich sieht man es den Mails schon am Betreff an, ob sie tatsächlich spam oder doch ham (und in diesem Fall eventuell ein false positive) sind.
Allerdings müssen non-ascii Teile des Mailheaders passend encodiert sein, was das Lesen teilweise unmöglich macht.
Ein paar Beispiele:
=?iso-8859-1?Q?Hall=F6chen?=
=?UTF-8?Q?Hall=C3=B6chen?=
=?UTF-8?B?SGFsbMO2Y2hlbg==?=
=?iso-2022-jp?B?GyRCOiNHLyRiSSwkOiRkJGo/ayQyJGsbKEIhIRskQkcvS3ZBMCRO?=
=?GB2312?B?0rvSubzkyMM1MDDN8sjLudjXosT6svrGt7XEzfjC59Oq?=
Da sind diverse encodings, mal in quoted printable, mal in base64. Allen gemeinsam ist die schwere Lesbarkeit.
Mailheader oder Teile davon kann man am einfachsten mit perl decodieren:
Aber auch ganze Unterordner voller Spammails können durchsucht werden:
Nicht encodierte Teile sind übrigens gar kein Problem.
Allerdings müssen non-ascii Teile des Mailheaders passend encodiert sein, was das Lesen teilweise unmöglich macht.
Ein paar Beispiele:
=?iso-8859-1?Q?Hall=F6chen?=
=?UTF-8?Q?Hall=C3=B6chen?=
=?UTF-8?B?SGFsbMO2Y2hlbg==?=
=?iso-2022-jp?B?GyRCOiNHLyRiSSwkOiRkJGo/ayQyJGsbKEIhIRskQkcvS3ZBMCRO?=
=?GB2312?B?0rvSubzkyMM1MDDN8sjLudjXosT6svrGt7XEzfjC59Oq?=
Da sind diverse encodings, mal in quoted printable, mal in base64. Allen gemeinsam ist die schwere Lesbarkeit.
Mailheader oder Teile davon kann man am einfachsten mit perl decodieren:
echo '=?UTF-8?B?SGFsbMO2Y2hlbg==?=' | perl -MEncode -ne 'print encode("utf8",decode("MIME-Header",$_))'
Obiges Beispiel decodiert nicht einfach nur den Header, sondern encodiert auch gleich in UTF-8 (default wäre iso).Aber auch ganze Unterordner voller Spammails können durchsucht werden:
ls -1t | head -20 | xargs grep '^Subject: =?' | perl -MEncode -ne 'print encode("utf8",decode("MIME-Header",$_))'
Dieses Beispiel durchsucht die neuesten 20 Mails im Ordner nach encodierten Subjects und gibt diese decodiert als UTF-8 aus.Nicht encodierte Teile sind übrigens gar kein Problem.
(Seite 1 von 1, insgesamt 2 Einträge)