Sur internet, on trouve de tout. Le meilleur côtoie le pire, et on n’est jamais au bout de ses surprises. En 7 ans de travail comme chef de projet web, j’ai vu passer pas mal de trucs sales : des prestations bidons, des devis sur-gonflés à bloc, des offres qui font du client un véritable jambon, et aujourd’hui, j’ai envie de dire que plus rien ne me surprend.
Sauf que, dans les faits, j’arrive encore à être totalement incrédule quand je constate que certains ne renoncent à rien, et s’approchent toujours plus du seuil de l’illégalité pour arriver à leur fin.
Il y a quelques jours, je suis sur un audit SEO. Les classiques : pas assez de backlinks, de la perte de jus pour rien, maillage interne à revoir, contenu-dupliqué etc. Suite à l’audit et aux précos, mon client me demande d’effectuer des petites modifications sur son site (déplacer une sidebar de la gauche vers la droite, histoire de présenter le contenu principal de la page au crawler avant le contenu secondaire…).
Sauf que là, sur ma boutique de dev, ça ne voulait pas. Mais ça ne voulait pas QUE sur les thèmes de la boutique de mon client : tous ceux que j’ajoutais à la main fonctionnaient bien. Un mail au dev du thème, une démo de sa part sur un autre environnement informatique, RAS, son thème fonctionne bien.
Je passe alors en mode « débug », me plonge dans les logs, les fichiers, la BDD et tout le tralala pour comprendre ce qui ne va pas.
Et alors que je suis sur le fichier header.tpl du thème de la boutique, je tombe sur ça :
<a href="http://storeextentions.com/" style="display:none">http://storeextentions.com/</a> <a href="http://www.mitrocops.com/" style="display:none">http://www.mitrocops.com/</a> <a href="http://storeprestamodules.com/" style="display:none">http://storeprestamodules.com/</a>
Ce qui me fait percuter, c’est le « display:none » sur les liens et l’ indentation bizarre du code (en regardant le code-source avec CTRL + U, on voit que ca a été pensé pour générer un gros scroll horizontal, histoire de cacher un peu tout ça aux yeux d’un webmaster trop zélé). Ca et le fait que ces liens cloakés n’ont rien à faire là. Un coup d’oeil aux dates de modification des fichiers en rajoute une couche :
Première installation du thème le 16/03/2015, et ici le fichier header.tpl a été modifié le 18/09/2015, avec un nouveau CHMOD en prime. Ca sent mauvais, et je pense tout de suite à un hack pour faire de l’injection de backlinks.
J’attaque un audit des pages ciblées par les liens…
L’audit du roublard
On commence par regarder directement ce que sont les sites vers lesquels pointent les liens :

La boite vend des modules Prestashop et Magento. Bizarre bizarre. Le modèle économique des produits virtualisés est ultra-juteux, pourquoi prendre des risques avec une pénétration sournoise, pour quelques liens ? Je continue avec le whois (identique pour les trois domaines) :
Bon, une société aux Etats-unis, mais les sites sont hébergés en Hollande, avec des DNS Russes… Un coup d’oeil à la page « contact » d’un des sites n’est guère plus rassurante :
Boite mail chez Gmail, pas de numéro de téléphone, pas de numéro d’enregistrement de la société, du Paypal, et une recherche sur Skype confirme le caractère probablement bidon du whois :
D’expérience, c’est pas super bon signe, mais ce qui me fait totalement penser à un hack, c’est les profils de liens :

Avec les 3 sites, il cumule plus de 115 000 backlinks glanés depuis 2015.
Au niveau des ancres, c’est guère mieux :
Je gère une petite extraction CSV de tous les liens, je remarque au passage qu’il y a pas mal d’URL qui finissent par « Faq » ou « Blog ». Je vois donc que pour pas mal de sites, c’est le blog ou la Faq qui contiennent les mêmes liens cloakés.
Un petit tour sur la calculette, et je vois que ces liens représentent moins de 2 % du volume global. On est donc bien sur du lien sitewide, bien crade et bien spammy. Donc, logique, je reste sur mon hypothèse de hack. J’envoie quelques mails aux propriétaires des sites FR pour les prévenir qu’ils ont probablement un problème de sécurité (et vous allez voir, j’avais pas tort).
La nouvelle est accueillie de façon diverses : j’ai des « merci », mais aussi des retours passablement énervés de prestataires qui pensent que je marche sur leur plate-bande (j’allais pas chercher s’il y avait un presta derrière les sites, trop de volume).
Deux appels avec des webmasters plutôt sympas, et un coup de main salvateur d’Olivier Clémence, développeur spécialisé en Prestashop (Merci pour les pistes que tu m’as donné 🙂 ), me permettent tout de même d’avancer un peu plus dans mes investigations : j’ai regardé uniquement le thème lors de mon audit, mais pas les modules…
Les modules installés…
Et c’est là que je trouve le coupable : le module de blog sur le site de mon client, installé à l’origine le 04/06/2015. En effet, je trouve les mêmes liens dans un fichier en particulier (blockblog/views/templates/hooks/footer.tpl) :
Sauf que là aussi, les dates de modification ne collent pas : le fichier a été édité le 18/09/2015, comme le fichier header.tpl du thème.
Je vais donc à la source : j’envoie un mail au support du module de blog pour savoir ce qui se passe…
Le mail envoyé au support
Je joue un peu le con, le mec qui ne comprend pas. Là, franchement, je ne m’attends pas à grand chose.
Hello,
I have a question about the blog module you’re selling :
http://storeprestamodules.com/prestashop-module-blog-for-prestashop.htmlOn line 551 of Blockblog/views/templates/hooks/footer.tpl, there is the following :
<div class= »clear »></div> <a href= »http://www.mitrocops.com/ » style= »display:none »>http://www.mitrocops.com/</a> <a href= »http://storeextentions.com/ » style= »display:none »>http://storeextentions.com/</a>Aren’t cloaked backlink bad for SEO purpose ? Especially if it’s sitewide ?
Best regards
Charles
Sauf que, surprise, Tatiana D. me répond au bout de quelques minutes. Elle me demande le numéro de commande pour bénéficier du support etc. Heureusement, mon client l’a toujours, et je peux le fournir à Miss Tatiana pour recuillir ses explications.
Hello,
order number for my client :
Order #319xxx
ordered 06.01.2015
Ok , here is what I’m trying to understand about your module and our theme :
You module has the following cloaked backlinks in blockblog\views\templates\hooks\footer.tpl
Line 38
<a href= »http://storeprestamodules.com/ » style= »display:none »>http://storeprestamodules.com/</a>and Line 551
<a href= »http://www.mitrocops.com/ » style= »display:none »>http://www.mitrocops.com/</a> <a href= »http://storeextentions.com/ » style= »display:none »>http://storeextentions.com/</a>Plugin installed on the 04th of June, 2015, as you can see on the screenshot below :
Our theme was installed on the 16th or March :
Then, blog plugin updated on the 18th of September 2015, as you can see here (main file) :
blockblog\views\templates\hooks\footer.tpl updated on the same day as well :
And finally, header.tpl of our theme updated the very same day, same hour, with modified CHMOD :
Guess what I find in the header.tpl file (line 134, as you can see in attached file) ?
<a href="http://storeextentions.com/" style="display:none">http://storeextentions.com/</a> <a href="http://www.mitrocops.com/" style="display:none">http://www.mitrocops.com/</a> <a href="http://storeprestamodules.com/" style="display:none">http://storeprestamodules.com/</a>
So, in a nutshell, I’m really wondering how that’s possible, unless you’re the dev of the springer theme (doesn’t explain the theme update time, and the modified CHMOD though…)
My client told me he did not put thoses backlinks in his file (why would he do that anyway ?), so now I’m asking for an explanation.
I’m not a sysadmin, but I’m smart (well, I guess) so do not be afraid to provide very technical explanation, I will be glad to do some google search and learn new stuff 🙂
Best regards
Charles
La réponse de Tatiana ne tarde pas :
Hi
Thank you for explain.Sorry again, our old programmer brought us a the hassle
Please check now
We remove this links. Sorry again
Regards
Sur le coup, je reste sur le « Désolé, c’est notre ancien développeur qui a fait ça ». Son anglais étant assez approximatif, je pense qu’ils ont retiré les liens de leur module sur la place de marché où on peut le trouver…
Et c’est en préparant la rédaction de cet article hier après-midi, en rejettant un coup d’oeil au serveur du client, que je percute :
Je vérifie le code source : PLUS DE LIENS !
Et voilà pourquoi j’avais pensé à un hack : à aucun moment, je ne m’étais dit que les liens avaient été placés là par la société en question, à la main, via le FTP !!! Coup de fil à mon client, qui me confirme qu’il leur avait donné les accès parce qu’il avait eu un problème l’an dernier (les images des posts qui ne s’effaçaient pas).
Second coup de fil à un des webmasters avec qui je m’étais entretenu Jeudi : il me confirme lui aussi qu’ils ont eu accès au serveur : « Oui, je me souviens maintenant, c’est vrai, ça m’avait paru hyper bizarre à l’époque qu’ils aient besoin des accès FTP pour installer le truc, parce que sur Prestashop, on peut le faire via le browser. Mais comme des fois, les mecs, ils cryptent leur code pour pas se faire piquer leur technologie… ».
Je tente l’ultime pose de mine pour Tatiana, ma Tatianovchka :
Hi,
I don’t understand, the links are gone from my site !!!
Did you change it ?
Best regards
Charles
Et sa réponse en or massif (merci pour les aveux) :
Yes, we removed links
Sorry for the inconvenience
Regards
Bon, OK. Tout s’explique. La boite planque ses liens dans son module, bon, OK, c’est pas « sport », c’est petit, mais ça arrive souvent. D’habitude on voit ce genre de pratique sur les thèmes et modules gratuits (et c’est de bonne guerre), mais sur un modules payant, c’est un peu choquant.
Mais franchement, pas autant que ce que j’ai découvert par la suite.
Les logs FTP d’OVH
Par prudence, je jette un coup d’oeil aux logs FTP ce matin, histoire de voir ce qu’ils ont fait sur le serveur la veille. Je n’ai pas été déçu…
[2016 Feb 5 10:30:00] (?@46.53.200.142) [INFO] id-ftp is now logged in [2016 Feb 5 10:30:00] (id-ftp@46.53.200.142) [DEBUG] Command [type] [I] [2016 Feb 5 10:30:00] (id-ftp@46.53.200.142) [DEBUG] Command [opts] [UTF8 ON] [2016 Feb 5 10:30:00] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/] [2016 Feb 5 10:30:00] (id-ftp@46.53.200.142) [DEBUG] Command [syst] [] [2016 Feb 5 10:30:00] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:00] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:30:02] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www] [2016 Feb 5 10:30:02] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:02] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:30:05] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules] [2016 Feb 5 10:30:05] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:05] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:30:11] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog] [2016 Feb 5 10:30:11] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:11] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:30:13] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views] [2016 Feb 5 10:30:13] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:13] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:30:14] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:14] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/modules/blockblog/views/index.php] [2016 Feb 5 10:30:14] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/index.php downloaded (666 bytes, 49.72KB/sec) [2016 Feb 5 10:30:19] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views/templates] [2016 Feb 5 10:30:19] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:19] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:30:20] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views/templates/hooks] [2016 Feb 5 10:30:21] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:21] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:30:26] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl downloaded (12711 bytes, 17098.28KB/sec) [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl downloaded (12711 bytes, 325401.60KB/sec) [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:30:27] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl downloaded (12711 bytes, 344796.40KB/sec) [2016 Feb 5 10:30:45] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:30:46] (id-ftp@46.53.200.142) [DEBUG] Command [stor] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:30:46] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl uploaded (12379 bytes, 161.06KB/sec) [2016 Feb 5 10:30:46] (id-ftp@46.53.200.142) [DEBUG] Command [site] [UTIME 201602051230 /www/modules/blockblog/views/templates/hooks] [2016 Feb 5 10:31:49] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:31:52] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views/templates] [2016 Feb 5 10:31:52] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:52] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:31:53] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views] [2016 Feb 5 10:31:53] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:53] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:31:54] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog] [2016 Feb 5 10:31:54] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:54] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:31:55] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules] [2016 Feb 5 10:31:55] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:55] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:31:57] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www] [2016 Feb 5 10:31:57] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:57] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/.htaccess] [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [NOTICE] /racine//www/.htaccess downloaded (7776 bytes, 7885.74KB/sec) [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/.htaccess] [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [NOTICE] /racine//www/.htaccess downloaded (7776 bytes, 252781.71KB/sec) [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/.htaccess] [2016 Feb 5 10:31:59] (id-ftp@46.53.200.142) [NOTICE] /racine//www/.htaccess downloaded (7776 bytes, 189586.29KB/sec) [2016 Feb 5 10:33:01] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:33:18] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes] [2016 Feb 5 10:33:18] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:33:18] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:33:27] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer] [2016 Feb 5 10:33:27] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:33:27] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/header.tpl] [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/header.tpl downloaded (7671 bytes, 8046.20KB/sec) [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/header.tpl] [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/header.tpl downloaded (7671 bytes, 241695.51KB/sec) [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/header.tpl] [2016 Feb 5 10:33:33] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/header.tpl downloaded (7671 bytes, 241695.51KB/sec) [2016 Feb 5 10:33:42] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:33:42] (id-ftp@46.53.200.142) [DEBUG] Command [stor] [/www/themes/springer/header.tpl] [2016 Feb 5 10:33:42] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/header.tpl uploaded (7285 bytes, 102.05KB/sec) [2016 Feb 5 10:34:43] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:35:43] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:36:12] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:36:12] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:12] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:18] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules/blockcontactinfos] [2016 Feb 5 10:36:18] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:18] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:19] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:36:19] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:19] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:21] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules/blockcontactinfos] [2016 Feb 5 10:36:21] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:21] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:22] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:36:22] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:22] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:23] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules/blockcontact] [2016 Feb 5 10:36:23] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:23] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:24] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:36:24] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:24] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:27] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules/blocksearch] [2016 Feb 5 10:36:27] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:27] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:28] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:36:28] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:28] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:32] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules/blockuserinfo] [2016 Feb 5 10:36:32] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:32] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:34] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:36:34] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:34] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:37] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules/blockcms] [2016 Feb 5 10:36:37] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:37] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/modules/blockcms/blockcms.tpl] [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/modules/blockcms/blockcms.tpl downloaded (5036 bytes, 8612.72KB/sec) [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/modules/blockcms/blockcms.tpl] [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/modules/blockcms/blockcms.tpl downloaded (5036 bytes, 214869.33KB/sec) [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/modules/blockcms/blockcms.tpl] [2016 Feb 5 10:36:41] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/modules/blockcms/blockcms.tpl downloaded (5036 bytes, 214869.33KB/sec) [2016 Feb 5 10:36:45] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:36:45] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:36:45] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:37:27] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer] [2016 Feb 5 10:37:27] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:27] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/footer.tpl] [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/footer.tpl downloaded (2083 bytes, 3188.33KB/sec) [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/footer.tpl] [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/footer.tpl downloaded (2083 bytes, 61825.86KB/sec) [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/themes/springer/footer.tpl] [2016 Feb 5 10:37:38] (id-ftp@46.53.200.142) [NOTICE] /racine//www/themes/springer/footer.tpl downloaded (2083 bytes, 70512.13KB/sec) [2016 Feb 5 10:37:43] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer/modules] [2016 Feb 5 10:37:43] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:43] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:37:48] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes/springer] [2016 Feb 5 10:37:48] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:48] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:37:50] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/themes] [2016 Feb 5 10:37:50] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:50] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:37:52] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www] [2016 Feb 5 10:37:52] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:52] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:37:53] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules] [2016 Feb 5 10:37:53] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:37:53] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:38:01] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog] [2016 Feb 5 10:38:01] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:01] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:38:03] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views] [2016 Feb 5 10:38:03] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:03] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:38:04] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views/templates] [2016 Feb 5 10:38:04] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:04] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:38:05] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views/templates/hooks] [2016 Feb 5 10:38:05] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:05] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl downloaded (12379 bytes, 24721.79KB/sec) [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl downloaded (12379 bytes, 303619.07KB/sec) [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [DEBUG] Command [retr] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:38:09] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl downloaded (12379 bytes, 294792.93KB/sec) [2016 Feb 5 10:38:21] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:38:21] (id-ftp@46.53.200.142) [DEBUG] Command [stor] [/www/modules/blockblog/views/templates/hooks/footer.tpl] [2016 Feb 5 10:38:21] (id-ftp@46.53.200.142) [NOTICE] /racine//www/modules/blockblog/views/templates/hooks/footer.tpl uploaded (12283 bytes, 170.42KB/sec) [2016 Feb 5 10:39:23] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:40:24] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:40:41] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views/templates] [2016 Feb 5 10:40:41] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:41] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:42] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog/views] [2016 Feb 5 10:40:42] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:42] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:43] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules/blockblog] [2016 Feb 5 10:40:43] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:43] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:44] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/modules] [2016 Feb 5 10:40:44] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:44] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:46] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www] [2016 Feb 5 10:40:46] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:46] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:49] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload] [2016 Feb 5 10:40:49] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:49] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:51] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www] [2016 Feb 5 10:40:51] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:51] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:53] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload] [2016 Feb 5 10:40:53] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:53] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:40:53] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload/blockblog] [2016 Feb 5 10:40:53] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:40:54] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:41:01] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload] [2016 Feb 5 10:41:01] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:41:01] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:41:09] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload/blockblog] [2016 Feb 5 10:41:09] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:41:09] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:41:14] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload] [2016 Feb 5 10:41:14] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:41:14] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload/blockblog] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/101186836855f671011f21e-100x100.jpg] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/101186836855f671011f21e-150x150.jpg] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/101186836855f671011f21e-200x200.jpg] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/101186836855f671011f21e-70x70.jpg] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/105447795555f6cba79c6ce-100x100.jpg] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/105447795555f6cba79c6ce-200x200.jpg] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/105447795555f6cba79c6ce-70x70.jpg] [2016 Feb 5 10:41:19] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/124441350355f6807106ef5-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/124441350355f6807106ef5-200x200.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/124441350355f6807106ef5-70x70.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/12651858655ed77760fdbe-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/12651858655ed77760fdbe-150x150.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/12651858655ed77760fdbe-200x200.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/12651858655ed77760fdbe-70x70.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/128967084255ed77c4bec72-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/128967084255ed77c4bec72-150x150.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/128967084255ed77c4bec72-200x200.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/128967084255ed77c4bec72-70x70.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/134092037655ed79cb410f2-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/134092037655ed79cb410f2-200x200.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/134092037655ed79cb410f2-70x70.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/144008276755f66fda20e0c-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/144008276755f66fda20e0c-150x150.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/144008276755f66fda20e0c-70x70.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/166138938355ed792e4d69e-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/166138938355ed792e4d69e-150x150.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/166138938355ed792e4d69e-200x200.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/166138938355ed792e4d69e-70x70.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/1899727197561a427964ac2-150x150.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/200806219755ed76fb5d3b7-150x150.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/201245407356b36b7fb9956-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/201245407356b36b7fb9956-150x150.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/201245407356b36b7fb9956-200x200.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/201245407356b36b7fb9956-70x70.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/201245407356b36b7fb9956.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/21012085655fb913f6357f-100x100.jpg] [2016 Feb 5 10:41:20] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/21012085655fb913f6357f-150x150.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/21012085655fb913f6357f-200x200.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/21012085655fb913f6357f-70x70.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/21012085655fb913f6357f.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/26401017455f6831583748-100x100.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/26401017455f6831583748-200x200.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/26401017455f6831583748-70x70.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/29118798055ed760aa492f-150x150.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/46964873155f67fde60ac0-100x100.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/46964873155f67fde60ac0-200x200.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/46964873155f67fde60ac0-70x70.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/76477161056b41e3961d45-100x100.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/76477161056b41e3961d45-150x150.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/76477161056b41e3961d45-200x200.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/76477161056b41e3961d45-70x70.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/76477161056b41e3961d45.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/77088961455f682ad007d7-100x100.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/77088961455f682ad007d7-200x200.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/77088961455f682ad007d7-70x70.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/80436656955f2651ed03ae-100x100.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/80436656955f2651ed03ae-150x150.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/80436656955f2651ed03ae-200x200.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/80436656955f2651ed03ae-70x70.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/87313519855f67e9fa6766-150x150.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/87313519855f67e9fa6766-200x200.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/87313519855f67e9fa6766-70x70.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/88268058255fc330337b62-100x100.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/88268058255fc330337b62-150x150.jpg] [2016 Feb 5 10:41:21] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/88268058255fc330337b62-200x200.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/88268058255fc330337b62-70x70.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/88268058255fc330337b62.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/96173005855fc446819b36-100x100.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/96173005855fc446819b36-150x150.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/96173005855fc446819b36-200x200.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/96173005855fc446819b36-70x70.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/96173005855fc446819b36.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/983029809561382c63493a-100x100.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/983029809561382c63493a-150x150.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/983029809561382c63493a-200x200.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/983029809561382c63493a-70x70.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/983029809561382c63493a.jpg] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog/blog.xml] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [site] [CHMOD 755 /www/upload/blockblog] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [cwd] [/www/upload] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [pasv] [] [2016 Feb 5 10:41:22] (id-ftp@46.53.200.142) [DEBUG] Command [list] [] [2016 Feb 5 10:42:29] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:43:36] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:44:40] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:45:51] (id-ftp@46.53.200.142) [DEBUG] Command [noop] [] [2016 Feb 5 10:46:22] (id-ftp@46.53.200.142) [DEBUG] Command [quit] [] [2016 Feb 5 10:46:22] (id-ftp@46.53.200.142) [INFO] Logout. [2016 Feb 5 15:12:01] (?@89.158.xxxxxxxx) [INFO] id-ftp-gdm is now logged in [2016 Feb 5 15:12:01] (mon-login-et-mon-ip) [DEBUG] Command [syst] [] [2016 Feb 5 15:12:01] (mon-login-et-mon-ip) [DEBUG] Command [feat] [] [2016 Feb 5 15:12:01] (mon-login-et-mon-ip) [DEBUG] Command [opts] [UTF8 ON] [2016 Feb 5 15:12:02] (mon-login-et-mon-ip) [DEBUG] Command [pwd] [] [2016 Feb 5 15:12:02] (mon-login-et-mon-ip) [DEBUG] Command [cwd] [/www/modules/blockblog/views/templates/hooks]
Ca parle tout seul !
Pour ceux qui ne savent pas lire ce genre de choses, voici ce qui s’est passé :
Un utilisateur sur l’adresse IP 46.53.200.142 s’est connecté au serveur, le 5 Février à 10h30, et est resté un quart d’heure sur la machine.
L’adresse en question est en Biélorussie :
Et l’utilisateur ne s’est pas contenté de retirer les liens qu’il y avait dans le fichier de header du thème, ou dans son module, non non non ! Ils ont aussi :
- édité le htaccess
- vérifié le fichier « blockcontactinfos »
- vérifié « blockcontact »
- idem pour « blocksearch »
- idem pour « blockcms »
- idem pour le footer du thème
- modifié les CHMOD sur tous les fichiers du blog
Et tout ça, c’était pas une petite balade : non, ils cherchaient simplement les mêmes liens sur les spots de Prestashop où ils ont l’habitude de les mettre ! Ce qui explique donc la quantité impressionante de liens sitewide que j’ai trouvé sur plus de 150 boutiques Prestashop en Europe !
L’éditeur du module a du avoir de la maintenance à faire sur son plugin en 2015, a récupéré les accès FTP de ses clients (pour dépanner), et il est fort probable qu’il ait fait un peu de zèle en allant placer ses backlinks sur les fichiers des modules que tout le monde utilise (le bloc CMS, la barre de recherche, les infos de contact du site E-commerce etc) !
Donc, au final, on est presque devant un cas manifeste de pénétration illégale dans un système de traitement automatique des données ! Certes, ils ont pas défoncé le serveur avec Hydra, ou utilisé une attaque plus subtile, mais les tâches accomplies lors de la maintenance des modules à débuguer dépassent largement le périmètre assigné par le client !
Et l’excuse « désolé, c’est pas nous, c’est l’ancien développeur », ça tient pas vraiment la route, vu qu’en 2016, ils accumulent 23 791 liens (nous sommes le 6 Février). Ou alors ils viennent tout juste de le griller, et l’ont viré il y a quelques jours…
Conclusion
Crawler son site de temps en temps, avec un outil comme Screamingfrog ou Xenu, ça permet beaucoup de choses très bien :
- découvrir les liens brisés
- avoir des détails sur les 404, les 30x etc
- voir si certaines pages ont une balise SEO manquante (description, H1, title etc)
- faire un bilan sur les liens sortants
Et voir si on se fait pas piquer son jus par un prestataire qui ne recule devant rien pour pousser son site.
Avoir un peu de liens sortant sur son site, c’est normal, c’est sain. Mais un lien sortant sitewide, c’est pas super ! Et si en plus il est cloaké, bonjour les dégats sur les updates liées à la qualité (au mois de Janvier, il y en a eu au moins 3, et des violentes d’ailleurs). Donc, donner les clés de la maison, OK, mais uniquement à des prestataires à qui on peut faire confiance. Et ici, clairement, c’est pas du tout le cas !
Je profite de cet article pour présenter mes excuses aux gens qui ont eu peur en lisant mon mail, ou qui se sont sentis attaqués personnellement, mais vous pouvez voir par vous même ici que je n’avais pas complètement tort quand je parlais d’une problématique de sécurité…
Si vous avez utilisé un module acheté auprès de ce prestataire, et que vous lui avec demandé du support, changez tout de suite vos accès FTP, par précaution.
Et pour retrouver les liens cloakés, téléchargez une copie de votre site (modules + thèmes) et utilisez l’expression régulière sur Notepad ++ en utilisant la fonction « rechercher dans les fichiers d’un dossier » :
a href=(.+) style="display:none"
Ca vous remontera tous les hits sur les liens cloakés dans vos modules ou fichiers de thème.
Merci pour ce retour très intéressant.
J’avais déjà vu ça sur un thème wordpress gratuit qui proposait une version payante plus complète. Il ne faut avoir confiance en personne !
Salut Josselin, ouais, c’est quand même ultra-sale ici. Franchement, ils mériteraient juste que les gens touchés par ce « vol de jus » (parce que c’est ça…) virent les liens cloakés pour les remettre en visible en dessous du footer, bien sitewide, sur une ancre bien optimisée. Après, plus qu’à attendre le refresh de Penguin…
Salut !
Vraiment top l’article, très complet !
Abusé les liens cloakés quand même ^^
Tout ça pour dire que les logs c’est la vie 😉
Romain,
Salut Romain, oui, et c’est grâce aux logs que j’ai compris pourquoi on pouvait en retrouver à la fois en dessous des blocs de recherche, dans le footer etc… Le dev du module avait au moins compris qu’il faut DI-VER-SI-FIER pour réussir… XD
Belles investigations !! Morale de l’histoire, ne jamais trop faire confiance en son prestataire ?! Quand on n’est pas du milieu , tout ça nous dépasse… Mais quand on peut c’est toujours bien de garder un oeil sur le travail du prestataire ! Merci pour l’article, super bien mené !