[Tips] Petite astuce pour la collecte d’email sur internet
Hello à tous,
La collecte de données est un peu le nerf de la guerre aujourd'hui (avec l'argent).
Moi-même, j'en fait assez souvent, pour tout un tas de raisons inavouables =)
(retrouver le propriétaire d'un email en est une ...)
Aussi j'étais l'autre jour, sur l'une des plateformes de recrutements en vogue "DoYouB..." et j'ai trouvé assez amusant la sécurité mise en place pour éviter le crawling* ... ce qui m'a inspiré cet article !
Vocabulaire
Un petit point vocabulaire, pour que les personnes qui ne sont pas familières au langage "technique" puissent appréhender facilement le sujet.
Crawling : Collecte de donnée
Crawler : Outil de collecte de donnée
User Agent : Méta donnée attachée à un programme qui indique à un serveur / site internet le nom du programme (Firefox, Google Chrome, Opéra, Internet Explorer ...)
Timers : Petites pauses dans un programme
Obfuscations : Le fait de dissimuler une donnée derrière une très faible protection.
Rétro-engineering : Analyse de bout en bout du fonctionnement de quelque chose (programme, protocole, ...)
L'user Agent
Si vous scannez une page avec un crawler* sans user agent*... vous tomberez parfois sur des faux liens qui vous amènent nulle part ...
Néanmoins si dans votre crawler vous définissez un faux user agent ... hop cette sécurité (sur la plupart des sites) est contournée ...
La vitesse
Eh oui ... un crawler va parcourir beaucoup plus de page à la minute, qu'un simple mortel comme nous ...
Les sites internet dont vous allez récupérer les données vous verront venir de loin avec l'ouverture de 500 pages par minute ...
Aussi, si vous mettez des "timers*" de 1 à 2 secondes entre chacune de vos requêtes ...
ça vous prendra peut-être plus de temps, MAIS, vous pourrez faire votre collecte tranquillement ... sans risque d'éveiller le moindre soupçon ...
Les obfuscations* bidon
Pour ne prendre qu'un cas d'exemple, celui de DoYouB...
Ils cachent leurs emails avec ce genre d'obfuscations ...
Oui oui vous ne voyez pas d'email ... un crawler non plus d'ailleurs ...
Sauf que le crawler n'est ni plus ni moins qu'un programme, qui fait ce qu'on lui demande de faire, et donc, que l'on peut faire évoluer ...
Donc si je prends cette jolie suite de numéros (cf. image) ....
101.98.115.101.98.106.111.102.109.118.100.98.116.65.104.110.98.106.109.47.100.112.110
Je me dis ...
hmmm des chiffres
à quoi cela peut-il correspondre ...
Il existe probablement un lien entre ces chiffres et les lettres de l'adresse email....
J'ai dans l'idée, que je vais trouver mon bonheur dans une table ascii*
J'essaie de faire quelques correspondances
101 => e
98 => b
115 => s
101 => e
98 => b
106 => j
...
Bon après avoir décortiqué quelques lettres :
ebsebj .... ?fl`hk
Mouai mouai .... tiens et si je faisais juste un -1 sur chaque nombre :
101 - 1 = 100 soit d
98 - 1 = 97 soit a
115 -1 = 114 soit r
...
darad...@gmail.com
ah ah, ça fonctionne !!!
J'obtiens une véritable adresse email !
Avec un petit script php c'est décodé en 1 seconde
Et voilà comment un peu de rétro-engineering*, peut vous aider à obtenir ce que vous voulez ...
Recommandation
Si vous souhaitez vraiment exposer sur votre site des adresses emails, faites de belles images plutôt que du texte ou des chiffres ...
Je vous invite également à bloquer la consultation des emails des utilisateurs au bout d'un certain nombre par jour (comme le fait LebonCoin) !