pirate

Le site du Petit Marocain a été piraté : tout a été effacé…

Selon Scout123, la version de Pluxml utilisé sur le site possédait une faille de sécurité. Couplée à une attaque brute-force sur la page d'admin (selon LPM) les articles ont été supprimés.

L'usage du brute-force : comment est-ce encore possible si facilement ?

Cette technique consiste simplement à tester toutes les combinaisons de mots de passe possibles. C'est comme si pour un cadenas à code vous testiez les combinaisons en partant de 000 pour aller à 999. Vous serez sûr tôt ou tard de trouver le mot de passe, mais il faut y passer du temps.
Évidement plus le mot de passe est long, plus il est dur à trouver : pour un caractère, il y a disons 50 possibilités (minuscules, majuscules, chiffres…), c'est trouvable même à la main. Pour 15 caractères il faudrait une durée 60 fois l'age de la Terre à raison de 1'000'000 de tentatives par secondes pour être sûr de trouver le mot de passe).

D'autre part, un mot de passe doit être stocké avec un salt, c'est à dire un code ajouté au mot de passe avant d'en calculer le hash. Par exemple, "pass" donnera un hash1, mais "hash(pass.salt)" donnera un hash2.
Ceci permet d'éviter l'usage des rainbow-tables : des tableaux de plusieurs centaines de giga-octets qui font la correspondance entre un hash et un mot de passe. Ici, les rainbow tables ne serviront à rien, vu que le hash2 ne correspond pas du tout à "pass", mais à "pass+salt", et vu que "salt" est choisis arbitrairement…

Autre chose : pour qu'un pirate arrive à se connecter, il lui faut le mot de passe. Mais il lui faut également la page de connexion : à quoi bon avoir une clé si le coffre est caché ?
C'est là que ce situe une autre faiblesse énorme dans presque tous les CMS que je connais : les pages de login sont toujours à la même place (wp-admin pour Wordpress par exemple). Il n'y a pas vraiment de possibilité de changer ça.
Je ne sais pas si c'est possible ailleurs (ça ne marche pas sous GSimple, ça march sous Pluxml à condition de modifier quelques fichier), mais je rappelle que si vous utilisez Blogotext, vous pouvez (et devriez) renommer le dossier Admin (une fois Blogotext configuré et installé) en ce que vous voulez : toto54, margherite ou kikou par exemple. Si vous choisissez quelque chose d'original, alors votre page de connexion sera aussi secrète que votre mot de passe.
Évidement, ça laisse entendre que vous ne placiez pas de lien vers le panel Admin sur votre page (Question sécurité, je trouve cette pratique du plus mauvais)…

Enfin, le brute force consiste à bombarder la page de connexion de requêtes : des centaines, voir des milliers de demandes par secondes. Limitons cela : une seule ligne de code PHP permet à n'importe quel script de limiter drastiquement le bruteforce : il suffit de faire un usleep(200000); à la connexion : la page ne sera exécutée qu'après 0,2 seconde. Autrement dit : il n'y aura qu'au maximum 5 requête par seconde. Le brute force devient impossible à faire depuis un ordinateur (il faudrait un botnet), tout en étant complètement transparent pour l'utilisateur : 0,2 secondes d'attente à la connexion, c'est rien. J'en avais déjà parlé en fait, mais c'est pas mal de se F5 la mémoire.

image de Pasuraku76

php Quel codeur ne s'est pas posé cette question ?
La réponse n'est pas « ##c'est la même chose## ». Et NON ce ne sont pas deux choses redondantes que l'on peut substituer l'un l'autre à tout va.

La distinction entre les deux peut se résumer ainsi : __id__ est un attribut lu par le navigateur (en HTML, CSS ou Javascript) ; __name__ sert à PHP lors de la validation d'un formulaire.

Ainsi, si je fais :
<input id="toto" name="titi" value="" size="150"/>

J'aurais, coté PHP, une variable __$_POST['titi']__ mais certainement pas de $_POST['toto'].

À l'inverse, si je veux donner un style CSS à mon champ, je devrais utiliser un __#toto { … }__, et non pas un #titi.
Même chose pour les éléments __

Ah, 3 semaines de news que je rattrape :

  • Tiens, les noms de domaines .fr seront soumis à l'approbation du gouvernement, comme en Chine ? (j'ai déformé la news pour bien comprendre, hein).
  • Quelques blagues de Geek. La première est pas mal, et c'est pour ça que Blogotext permet d'éviter ce genre de désagréments : le dossiers "admin" est renommable comme on veut. (suffit de changer aussi le nom dans le fichier /inc/conf.php). Le brute force ne servira à rien car la page d'admin est introuvable. Pour faire encore mieux, on peut aussi faire un dossier toto pour se connecter et un dossier "admin" piège qui récupère des infos sur le petit-pirate.
  • Toujours bien ce genre d'astuces Gmail
  • Un autre moteur de blog sans bases de donnés : FlatPress. Un peu plus complet que Blogotext je pense, mais aussi légèrement plus lourd.
  • Ahhh !! Android s'y met aussi : tout comme l'iPhone, il conserve nos données perso : réseaux wifi détectés, antennes GSM connectés… Avec ça, et un peu de triangulation il est potentiellement possible de retracer vos déplacements avec une précision de l'ordre du mètre. Et on se demande pourquoi j'ai pas de téléphone ? Bandes d'enfoirés !
  • Arf, Facebook ne permet plus d'importer les flux RSS ? Le lien ne marche plus
  • Rha, après Paypal, Mastercard et d'autres qui se sont attaqués à Wikileaks (il devient quoi au fait lui ?), voilà Youtube qui bannit les vidéos des Anynomous. C'est moche. On ne peut compter sur personne. Je fais bien de commencer à tout centraliser sur mon site : je serais le seul aux commandes, seul responsable et seul à décider si une vidéo/image/page doit être supprimée. Bah.
  • Ubuntu dans un navigateur. Youpi, bientôt Ubuntu dans les nuages à ChromeOS. Je sais, c'est une version "juste pour voir", mais pensez au futur : Canonical va t-il faire une vraie version cloud ??
  • Internet limité, 3G limité, mais factures illimités. (Et chez moi, ça coupe tous les 1/4 d'heures.) Vive Orange…
  • 30% des vidéos de youtube sont déjà au format WebM. Woah. Quand je pense que convertir 20 minutes des vidéos sur mon ordi m'en prend 40, ça laisse imaginer la puissance que Google investit dans le conversion, c'est hallucinant.
  • Firefox marque un point : la seule raison qu'ont les utilisateurs à prendre Firefox plutôt que Chrome ou Safari, c'est la qualité.
  • J'adore ce genre de vidéos, l'univers et si vaste et même vu de notre minuscule terre, c'est magique.
  • Un site de tutos sur le graphisme et les CSS : y'a pas mal de choses, et sûrement des perles (j'ai pas encore tout regardé, mais c'est bon d'avoir ça sous le coude)
  • Très bonne idée de sensibiliser les jeunes à internet : le partage des informations privés sur Facebook, etc. Mais ça fait à peine 10 ans que tous les jeunes ont un skyblog (beuh), MSN et surfent tous les jours : fail temporel donc. Et j'ai extrêmement peur des dérives… Parce leurs internet "civilisé" à la Orwell, non merci.


gros cadenas

Comme pas mal de collèges ou de lycées, le collège de mon petit frère dispose d'un ENT. En gros, c'est un site web où Prof et élèves disposent d'une boite mail et peuvent voir rapidement les emplois du temps ou nouvelles de l'école.

Ce soir, mon frère dit que s'il veut changer son mot de passe ENT, il doit en prendre un avec 9 caractères minimum, au moins une lettre, un chiffre et un caractère spécial. Et bé ! Si c'est pas des mots de passe forts avec ça !!

Je trouve très bien qu'ils commencent dés le collège à habituer les élèves et internautes à utiliser un bon mot de passe. Je me souviens de l'ENT quand j'étais au lycée, le mot de passe était du genre "123a". Super compliqué hein ? (et le fichier avec nom de l'élève, login, mot de passe dans un fichier texte en clair sur le réseau, il fallait tout de même utiliser Windows Media Player pour l'obtenir ;).

Je rappelle qu'un bon mot de passe est essentiel pour une bonne sécurité et que les mots de passes comme "toto" ou "bonjour" sont les premiers qu'un méchant pirate essaiera.

Bon, pas la peine de prendre un mot de passe de 600 caractères non plus hein :-).

crédit image : fr1zz


geek-volution

Voici un petit lien, de la part du Petit Marocain pour :

  • générer des mots de passes
  • tester la force d'un mot de passe
  • et comment fabriquer un bon mot de passe

Y'a aussi de bon liens.


Mon conseil : utilisez les Leet Speak (1337 5p33|<) pour faire des mots de passes ! Le Leek speak consiste à remplacer les lettres par des symboles ou des chiffres (le "E" devient un "3" ; le "C" devient un "(" - une parenthèse, etc).

J'ai 4 bonnes raisons d'utiliser le Leet :
  • C'est simple : remplacez juste une lettre par un chiffre dans une phrase et c'est bon
  • On arrive très vite à un bon mot de passe : pour « Salut-toi » on a déjà « 54|_U7-T01 »
  • Comme il existe de très nombreux niveaux de difficultés, il est impossible ou presque de faire du brute force la dessus.
  • C'est Geek !

Voilà ! Plus d'excuses pour utiliser "toto", "bonjour" ou "12345" comme mot de passe !

credit image : truebluetitan