Magazine Internet

Comment les spammeurs récupèrent-ils votre adresse mail?

Publié le 02 février 2008 par Jbjweb

Qui n’a jamais reçu quantité de messages indésirables sur son mail, sans avoir rien demandé? Assurément, peu d’entre nous. Vous le savez certainement, il ne faut jamais laisser son adresse mail “en dur” dans une page web. Pour comprendre pourquoi, je vous propose d’étudier ce petit code Python, qui scannera Google à la recherche d’adresses mail. Vous risquez d’etre surpris des résultats…

J’ai trouvé ce code assurément intéressant sur pythonfrance.com, et son auteur s’appelle kerneltony95. Compte tenu de la nature de ce programme, je tiens à rappeller que le but de cet article est d’apprendre comment les spammeurs récupèrent votre adresse e-mail, certainement pas de vous livrer à ce genre de gamineries vous même.
Pour ceux à qui l’idée traverserait l’esprit, sachez que Christopher William Smith, surnommé à juste titre le roi du spam, à récemment été condamné à 30 ans de taule! ça calme, hein?

;)

Bon, assez discuté, voyons ce qui nous interesse, à savoir le code en lui-même:

#!/usr/bin/python

import sys
import re
import string
import httplib
import urllib2
import re

def StripTags(text):
    finished = 0
    while not finished:
        finished = 1
        start = text.find("<")
        if start >= 0:
            stop = text[start:].find(">")
            if stop >= 0:
                text = text[:start] + text[start+stop+1:]
                finished = 0
    return text

if len(sys.argv) != 2:
        print "\nrsx.py : Trouvez les e-mail sur google extention de goog-mail beta by tOny.\n"
        print "\nUsage : ./rsx.py \n”
        print “\nexemple: ./rsx.py hotmail.com \n”
        sys.exit(1)

domain_name=sys.argv[1]
d={}
page_counter = 0
try:
    while page_counter <400:
        results = ‘http://groups.google.com/groups?q=’+str(domain_name)+’&hl=en&lr=&ie=UTF-8&start=’ + repr(page_counter) + ‘&sa=N’
        request = urllib2.Request(results)
        request.add_header(’User-Agent’,'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)’)
        opener = urllib2.build_opener()
        text = opener.open(request).read()
        emails = (re.findall(’([\w\.\-]+@’+domain_name+’)',StripTags(text)))
        for email in emails:
            d[email]=1
            uniq_emails=d.keys()
        page_counter = page_counter +10
except IOError:
    print “erreur les e-mails de la companie sont introuvable sur Google Groupes !”+”"
page_counter_web=0
try:
    print “\n\n+++++++++++++++++++++++++++++++++++++++++++++++++++++”+”"
    print “+ rsx resultat de Google Groupes & web:”+”"
    print “+++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n”+”"

    while page_counter_web >400 :
        results_web = ‘http://www.google.com/search?q=%40′+str(domain_name)+’&hl=en&lr=&ie=UTF-8&start=’ + repr(page_counter_web) + ‘&sa=N’
        request_web = urllib2.Request(results_web)
        request_web.add_header(’User-Agent’,'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)’)
        opener_web = urllib2.build_opener()
        text = opener_web.open(request_web).read()
        emails_web = (re.findall(’([\w\.\-]+@’+domain_name+’)',StripTags(text)))
        for email_web in emails_web:
            d[email_web]=1
            uniq_emails_web=d.keys()
        page_counter_web = page_counter_web +10

except IOError:
    print “erreur les e-mails de la companie sont introuvable sur google web !”+”"
for uniq_emails_web in d.keys():
    print uniq_emails_web+”"

Ce programme fonctionne en ligne de commande. Utilisez la syntaxe suivante:

python rsx.py hotmail.fr

Assez impressionnant de voir que l’on peut trouver des centaines d’adresses e-mail avec simplement 67 lignes de code. On ne le répetera jamais assez, ne mettez jamais votre mail sur le web!


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jbjweb 18 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine