Faille de sécurité sur Les Numériques : modifiez vos mots de passe

Faille de sécurité sur Les Numériques : modifiez vos mots de passe

Des cookies qui manquent de sel

Avatar de l'auteur

Sébastien Gavois

Publié dansInternet

03/11/2015
61
Faille de sécurité sur Les Numériques : modifiez vos mots de passe

La semaine dernière, nos confrères de Les Numériques ont été victimes d'une cyberattaque ayant entrainé la fuite de logins et de cookies de session. Ces derniers contiennent une empreinte du mot de passe associé au compte, il est donc conseillé d'en changer.

Le site Les Numériques a été victime d'un pirate qui a exploité une faille XSS sur certaines pages du site afin d'exécuter du code JavaScript. Mathias Lallement, directeur technique, explique en effet qu'un « attaquant l'a utilisée pour collecter login+cookie de session, sur certains commentaires d'articles du site, depuis le 25/10 à 17h41 [...] Nous avons été prévenus jeudi soir et avons pu trouver et corriger cette faille entre vendredi et lundi ». 

Il ajoute que « la faille permettait d'être connecté à la place du membre, donc d'accéder à l'édition de son profil sur le site, de connaître l'adresse email associée au compte et de changer les informations liées au compte, comme le mot de passe ». Plus problématique, le cookie de session contient une empreinte (hash) du mot de passe du compte, mais qui n'est pas salé. Il est donc bien plus facile de retrouver le mot de passe original, notamment via des Rainbow tables par exemple.

Les Numériques failles XSS

Quoi qu'il en soit, la procédure est toujours la même en pareille situation : changer de mot de passe sur le site, mais aussi sur n'importe quel autre service où il aurait été utilisé. On ne rappellera en effet jamais assez que réutiliser le même mot de passe n'est pas une bonne idée. Nos confrères précisent enfin que « les attaquants n'ont pas eu accès à nos serveurs ni à la base de données du site », sans plus de précisions sur l'origine de l'attaque ou sur le nombre de comptes impactés. Bien évidemment, ils indiquent qu'une plainte va être déposée.

61
Avatar de l'auteur

Écrit par Sébastien Gavois

Tiens, en parlant de ça :

Le SoC Graviton4 d’Amazon AWS posé sur une table

Amazon re:invent : SoC Graviton4 (Arm), instance R8g et Trainium2 pour l’IA

Tout plus mieux qu'avant

09:30Hardware 0
Logo Comcybergend

Guéguerre des polices dans le cyber (OFAC et ComCyberMi)

CyberCom'

09:06Sécurité 0
Mur d’OVHcloud à Roubaix, avec le logo OVHcloud

OVHcloud Summit 2023 : SecNumCloud, IA et Local Zones

Des mini datacenters… Ouais une baie quoi ?

19:03HardwareInternet 2

Sommaire de l'article

Introduction

Le SoC Graviton4 d’Amazon AWS posé sur une table

Amazon re:invent : SoC Graviton4 (Arm), instance R8g et Trainium2 pour l’IA

Hardware 0
Logo Comcybergend

Guéguerre des polices dans le cyber (OFAC et ComCyberMi)

Sécurité 0

#LeBrief : faille 0-day dans Chrome, smartphones à Hong Kong, 25 ans de la Dreamcast

0
Mur d’OVHcloud à Roubaix, avec le logo OVHcloud

OVHcloud Summit 2023 : SecNumCloud, IA et Local Zones

HardwareInternet 2
algorithmes de la CAF

Transparence, discriminations : les questions soulevées par l’algorithme de la CAF

IA et algorithmesSociété numérique 33

Plainte contre l’alternative paiement ou publicité comportementale de Meta

DroitIA et algorithmes 17
Nuage (pour le cloud) avec de la foudre

Économie de la donnée et services de cloud : l’Arcep renforce ses troupes

DroitInternet 0
De vieux ciseaux posés sur une surface en bois

Plus de 60 % des demandes de suppression reçues par Google émanent de Russie

Société numérique 4
Une vieille boussole posée sur un plan en bois

La Commission européenne et Google proposent deux bases de données de fact-checks

DroitInternet 2

#LeBrief : des fichiers Google Drive disparaissent, FreeBSD 14, caméras camouflées, OnePlus 12

0

Le poing Dev – round 6

Next 139

Produits dangereux sur le web : nouvelles obligations en vue pour les marketplaces

Droit 7
consommation de l'ia

Usages et frugalité : quelle place pour les IA dans la société de demain ?

IA et algorithmes 12

La NASA établit une liaison laser à 16 millions de km, les essais continuent

Sciences et espace 17
Concept de CPU

Semi-conducteurs : un important accord entre l’Europe et l’Inde

Hardware 6

#LeBrief : PS5 Slim en France, Valeo porte plainte contre NVIDIA, pertes publicitaires X/Twitter

0
Un mélange entre une réunion d’Anonymous et de tête d’ampoules, pour le meilleur et le pire

651e édition des LIDD : Liens Intelligents Du Dimanche

Internet 30
Bannière de Flock avec des bomes sur un fond rouge

#Flock, le grand remplacement par les intelligences artificielles

Flock 34
Un Sébastien transformé en lapin par Flock pour imiter le Quoi de neuf Docteur des Looney Tunes

Quoi de neuf à la rédac’ #9 : LeBrief 2.0, ligne édito, dossiers de fond

Next 63
Pilule rouge et bleue avec des messages codés

Encapsulation de clés et chiffrement d’enveloppes

Sécurité 31
Empreinte digital sur une capteur

Empreintes digitales : les capteurs Windows Hello loin d’être exemplaires

Sécurité 20

#LeBrief : succès du test d’Ariane 6, réparer plutôt que remplacer, Broadcom finalise le rachat de VMware

0

Hébergeurs, éditeurs, espaces de conversation ? La difficile régulation des réseaux sociaux

Réseaux sociauxSociété numérique 23
Puces en silicium

Silicium : un matériau indispensable et omniprésent, mais critique

HardwareSciences et espace 25
Panneau solaire bi-face Sunology Play

Panneaux solaires en autoconsommation : on décortique le kit Play de Sunology

Hardware 27
The eyes and ears of the army, Fort Dix, N.J.

Un think tank propose d’autoriser les opérations de « hack back »

Sécurité 13

#LeBrief : Ariane 6 sur le banc de test, arrestation algorithmique, entraînement d’IA par des mineurs

0
Logo de Google sur un ordinateur portable

Chrome : Google corrige plusieurs failles sévères, dont une déjà exploitée

Logiciel 0

vieux téléphones portables

Des cadres supérieurs invités à n’utiliser que des téléphones jetables à Hong Kong

Sécurité 6

La Dreamcast de Sega fête ses 25 ans

Hardware 5

Pilule rouge et bleue avec des messages codés

Démantèlement d’un groupe ukrainien de rançongiciels

Sécurité 1

Commentaires (61)


Altair31
Il y a 8 ans

Comme quoi, il faut toujours saler avant de hasher !


Tornado_OLO
Il y a 8 ans

Pas cool de bosser le week-end sur ce genre de galère <img data-src=" />


js2082
Il y a 8 ans

Bientôt le même problème pour NxI?

<img data-src=" />


zitrams
Il y a 8 ans






Altair31 a écrit :

Comme quoi, il faut toujours saler avant de hasher !


Mais si le cookie n’est pas assez salé, il faut s’en prendre au serveur.



kade
Il y a 8 ans

C’est un cauchemar en cuisine mixé avec qui est le meilleur pâtissier.


Master Of Bandwidth Abonné
Il y a 8 ans






zitrams a écrit :

Mais si le cookie n’est pas assez salé, il faut s’en prendre au serveur.


Ah ah :)



kade
Il y a 8 ans






Tornado_OLO a écrit :

Pas cool de bosser le week-end sur ce genre de galère <img data-src=" />


Pas cool de développer à la rache <img data-src=" />



serik
Il y a 8 ans

Et la faille Php exploité sur 000webhost.com (=hostinger en France), personne n’en parle?


maestro321
Il y a 8 ans

Mauvaise gestion des cookies par les devs.
Bonne pratique : un cookie n’est pas fait pour stoker des données mais uniquement un identifiant unique crypté (lisible uniquement par le serveur). De cet identifiant, on récupère ensuite les infos associées coté serveur.
De cette manière, un seul cookie est nécessaire (on y associe autant d’info qu’on veut coté serveur), celui-ci est le plus léger possible, et n’y a plus de risque de fuite d’infos (quand bien même quelqu’un arriverait à décrypter le cookie il ne récupèrerais qu’un identifiant inexploitable en tant que tel..)


snoopy1492
Il y a 8 ans

<img data-src=" />Et en attendant pas un seul message sur leur propre page d’accueil&nbsp;<img data-src=" />


coket Abonné
Il y a 8 ans

Roh, les méchants pirates pourraient avoir accès à ma boite /trash&nbsp;<img data-src=" />


Vekin Abonné
Il y a 8 ans

Tout à fait d’accord. C’est quoi cette histoire de stocker le hash du mot de passe dans le cookie ? Sérieusement ?


thinkerone
Il y a 8 ans

aucun intérêt/sens de chiffrer un cookie,&nbsp; oui pour le reste. il ne doit etre qu’un id permettant de retrouver les informations. Par contre l’attribut HttpOnly, déja ca evite de recupérer l’info via un XSS moisi et si possible le tout communiqué sur SSL bien (mais bon la pub limite visiblement cf les problematique NxI) avec l’attribut secure.


maestro321
Il y a 8 ans

Si si, le crypter évite que le client viennent le bidouiller et/ou le modifier.

Si j’ai un id (en clair) du genre 123456 dans mon cookie et que je remplace par 123457 il y a de grandes chance que je me retrouve connecté avec un autre compte.<img data-src=" /> Si c’est crypté tu peux toujours essayer de le modifier…


DorianM
Il y a 8 ans

Un cookie de session en fait ?


gjdass Abonné
Il y a 8 ans

J’aime pas crypter. Chiffrer c’est plus mieux.

Je sors&nbsp;<img data-src=" />


maestro321
Il y a 8 ans

Oui.<img data-src=" />


thinkerone
Il y a 8 ans

le problème reste le meme, il ne s’agit pas de crypter, il suffit juste de générer des ID non linéaires et suffisament entropique c’est la qu’est la sécurité, en diminuant la proba que l’utilisateur trouve une chaine de caractère qui corresponde à un ID (si ton chiffré est ridiculement court tu ne résoud pas le problème par exemple) , ce que globalement php et consort savent faire plutot bien de nos jours.


anonyme_447570885b66ca42145fd71079a75237
Il y a 8 ans

Mais là tu compares un bête ID que tu incrémentes à chaque connexion à un ID aléatoire (le résultat de ton chiffrement). Pas sûr que tu gagnes en sécurité avec le chiffrement si ton ID fait autant de bits et est simplement généré aléatoirement.


Snip_X
Il y a 8 ans






maestro321 a écrit :

Mauvaise gestion des cookies par les devs.
Bonne pratique : un cookie n’est pas fait pour stoker des données mais uniquement un identifiant unique crypté (lisible uniquement par le serveur). De cet identifiant, on récupère ensuite les infos associées coté serveur.
De cette manière, un seul cookie est nécessaire (on y associe autant d’info qu’on veut coté serveur), celui-ci est le plus léger possible, et n’y a plus de risque de fuite d’infos (quand bien même quelqu’un arriverait à décrypter le cookie il ne récupèrerais qu’un identifiant inexploitable en tant que tel..)


Chiffré!<img data-src=" />



maestro321
Il y a 8 ans






thinkerone a écrit :

le problème reste le meme, il ne s’agit pas de crypter, il suffit juste de générer des ID non linéaires et suffisament entropique c’est la qu’est la sécurité, en diminuant la proba que l’utilisateur trouve une chaine de caractère qui corresponde à un ID (si ton chiffré est ridiculement court tu ne résoud pas le problème par exemple) , ce que globalement php et consort savent faire plutot bien de nos jours.


On est d’accord, mais le plus simple ça reste de crypter/décrypter, puisque tu n’as justement pas a te soucier du format d’origine de ton ID.
De plus, au final, l’utilité c’est de retrouver les infos associées, et je pense que techniquement dans une base de donnée c’est plus rapide de retrouver un enregistrement par un id linéaire plutôt que par une chaîne.



serik
Il y a 8 ans

Pour la faille 000webhost, voici ce que j’ai reçu :
What happened?

A hacker used an exploit in an old PHP version, that we were using on our website, in order to gain access to our
systems. Data that has been stolen includes usernames, passwords, email addresses, IP addresses and names.

Although the whole database has been compromised, we are mostly concerned about the leaked client information.

What did we do about it?

We have been aware of this issue since 27th of October and our team started to troubleshoot and resolve this issue
the same day, immediately after becoming aware of this issue.

In an effort to protect our users we have temporarily blocked access to systems affected by this security flaw. We
will re-enable access to the affected systems after an investigation and once all security issues have been
resolved. Affected systems include our website and our members area. Additionally we have temporarily blocked FTP
access, as FTP passwords have been stolen as well.

We reseted all users passwords in our systems and increased the level of encryption to prevent such issues in the
future.

We are still working around the clock to identify and eliminate all security flaws. We will get back to providing
the free service soon. We are also updating and patching our systems.

What do you need to do?


As all the passwords have been changed to random values, you now need to reset them when the service goes live
again.

DO NOT USE YOUR PREVIOUS PASSWORD.

PLEASE ALSO CHANGE YOUR PASSWORDS IF YOU USED THE SAME PASSWORD FOR OTHER SERVICES.


We also recommend that you use Two Factor Authentication (TFA) and a different password for every service whenever
possible. We can recommend the Authy authenticator app and the LastPass password manager.

We are sorry


At 000webhost we are committed to protect user information and our systems. We are sorry and sincerely apologize we
didn’t manage to live up to that.

At 000webhost our top priority remains the same - to provide free quality web hosting for everyone. The 000webhost
community is a big family, exploring and using the possibilities of the internet together.

Our leadership team will closely monitor this issue and will do everything possible to earn your trust every day.



Sincerely,

000webhost CEO,

Arnas Stuopelis


maestro321
Il y a 8 ans






Athropos a écrit :

Pas sûr que tu gagnes en sécurité avec le chiffrement si ton ID fait autant de bits et est simplement généré aléatoirement.


Bha déjà s’il est “généré aléatoirement” t’as une faille car tu peux avoir un doublon.
Le cryptage n’est pas réellement aléatoire.
Pour un id unique, je suis certain que la chaîne cryptée le sera aussi.



David_L Abonné
Il y a 8 ans

Merci d’éviter les HS :)


thinkerone
Il y a 8 ans

du coup si je fais la synthèse des échanges, il faudrait un cookie qui contienne l’ID plus un élément aléatoire chiffré par le serveur, qui le déchiffre a chaque fois, récupère l’id dans la chaine pour ensuite requêter les bonnes info?

je sais pas si en perf c’est plus économique que de taper directement sur le contexte associé a ton PHPSESSID par exemple… mais pourquoi pas, je m’y connais pas des masses en optimisation


maestro321
Il y a 8 ans






thinkerone a écrit :

du coup si je fais la synthèse des échanges, il faudrait un cookie qui contienne l’ID plus un élément aléatoire chiffré par le serveur, qui le déchiffre a chaque fois, récupère l’id dans la chaine pour ensuite requêter les bonnes info?


Pourquoi venir “saler” l’id avant le chiffrement? C’est utile pour un hash, mais pour un chiffrement, seul le serveur à la clef (de déchiffrage) ça n’a donc aucun intérêt. Les rainbow table ça n’existe pas en chiffrement.



thinkerone a écrit :

je sais pas si en perf c’est plus économique que de taper directement sur le contexte associé a ton PHPSESSID par exemple… mais pourquoi pas, je m’y connais pas des masses en optimisation


Les cookies restent après la fermeture du navigateur, alors que la session…
Oups, j’avais mal compris, on peut sans doute se servir de PHPSESSID, mais ma solution est “générique”, elle peut théoriquement s’appliquer à n’importe quel projet.
On a souvent des surprises dans la gestion PHP des sessions d’un serveur/projet à l’autre.<img data-src=" />
Je préfère avoir la main/le contrôle sur ce qui est généré.



Keizo Abonné
Il y a 8 ans

Mais une question…
Comment un pirate peut récupérer le cookie d’un utilisateur X ?
Il l’a intercepté ? du coup c’est une MitM non ?
il l’a récupéré sur un serveur de lesnumeriques.com ?
il l’a récupéré en étant sur l’ordinateur de l’utilisateur X ?

Enfin c’est un peu la question que je me pose en lisant cette article…


Folgore
Il y a 8 ans

c’est chiant car j’utilise un login et mdp que j’utilise pas mal ailleurs … mais sais pas trop ou <img data-src=" />


thinkerone
Il y a 8 ans

Du coup sans aléat tu te retrouves avec un autre problème,&nbsp; ton cookie est toujours le meme pour une personne donnée, donc il suffit que bidule se connecte une fois depuis un poste partagé ou que je me balade sur son poste pendant sa pause café et me voila capable d’usurper sa session quand je veux.

les bonnes pratiques en la matière étant de renouveller le cookie à chaque changement d’état (après authent et après déco ) et que lors de la déco la session soit correctement purgée, si dès que l’utilisateur se réauthentifie on lui ressort le meme cookie ca pose problème.


thinkerone
Il y a 8 ans

en fait le XSS est une attaque qui vise l’utilisateur et pas le serveur en injectant du code qui est interpreté par ton navigateur.

&nbsp; bref, l’attaquant a peut être trouvé une faille dans les commentaires par exemple, et a donc posté un commentaire spécial avec du code javascript. S’il s’applique un peu, les artefact sont pas trop visible quand tu regardes la page, mais ton navigateur quand il recoit le contenu de la page, au moment d’afficher le fameux commentaire va afficher ce qu’il comprend etre du texte et interpreter le code qu’il reconnait.

Ce code est généralement “fait une requete vers tel serveur en affichant le login courant et la valeur du cookie de session”

donc ce n’est ni du MitM, ni une attaque du serveur, mais le piégeage de ton navigateur web


maestro321
Il y a 8 ans

Via la faille XSS.
Celle-ci permet à l’attaquant de glisser du code javascript malveillant qui sera exécuté sur un client (celui qui n’aura pas de chance).
Le script permet de venir lire les infos du cookie du client (autrement dit, c’est un vol de cookie), et ces infos sont ensuite renvoyée d’une manière ou d’un autre vers un autre serveur (celui de l’attaquant).

S’il n’y avait pas de faille XSS, l’attaquant ne devrais pas pouvoir ajouter du script javascript a une page.
C’est un peut comme si tu trouvais une faille dans NXI qui te permette de rajouter une photo dans les commentaire. Cette photo serait ensuite visible par les autres utilisateur (le vol peut commencer).


L’autre faille c’est d’être vu coller le hash du mot de passe dans le cookie.<img data-src=" />
Si la première faille est excusable, la seconde ne l’est pas..


dest Abonné
Il y a 8 ans

Cookie de session ?

Donc ces cookies doivent être transmis en https uniquement. Le bon réflexe est donc de mettre l’attribut Secure sur ses cookies.
De plus, ils ont été volés par une faille XSS, donc il manquait l’attribut httpOnly qui doit être mis sur ce type de cookie.

On ajoutera qu’une politique Content-Security-Policy et l’utilisation de fonction comme htmlspecialchars() auraient évité cet incident.

PS: mince grillé ci-dessus pour les attributs


maestro321
Il y a 8 ans






thinkerone a écrit :

Du coup sans aléat tu te retrouves avec un autre problème,  ton cookie est toujours le meme pour une personne donnée, donc il suffit que bidule se connecte une fois depuis un poste partagé ou que je me balade sur son poste pendant sa pause café et me voila capable d’usurper sa session quand je veux.


Ha! Effectivement, si tu as des contraintes de ce genre à gérer, il faut effectivement faire varier le cookie, mais dans ce cas ça se fait varier en fonction du temps, pas d’une valeur aléatoire. L’aléatoire c’est le mal.<img data-src=" />



Gemini_Power Abonné
Il y a 8 ans

Mais avec la certification ISO 1664

(Désolé)


thinkerone
Il y a 8 ans

excuser un XSS? tu est trop bon avec eux <img data-src=" />
C’est
pas parce que c’est hyper courant que c’est excusable,&nbsp; avec des
frameworks comme BeeF on fait des choses très sales depuis quelques années maintenant


maestro321
Il y a 8 ans

Oui, j’excuse. C’est toujours moins gênant qu’une faille SQL.. ou des mots de passe stockés en clair.<img data-src=" />
Si le reste du site n’est pas trop mal construit, une faille XSS n’est en principe pas trop virulente.


thinkerone
Il y a 8 ans

meuuuuh non ca dépend juste de ta catégorie: utilisateur de debian ou non.<img data-src=" />&nbsp; comme ca par exemple


renaud07
Il y a 8 ans

Je viens de me rendre compte qu’ils n’ont pas de connexion sécurisée pour l’identification sur le forum… Sinon de mon coté c’est fait, mot de passe changé <img data-src=" />


maestro321
Il y a 8 ans

Je savais pas que l’aléatoire “pseudo-aléatoire” était un problème de distribution.
En tout cas le rand() PHP (quelque soit la distrib) est une calamité.<img data-src=" />
Ce qui me fait bien marrer, c’est la description de la fonction mt_rand () : Génère une meilleure valeur aléatoire <img data-src=" />


alex.d. Abonné
Il y a 8 ans






maestro321 a écrit :

Mauvaise gestion des cookies par les devs.
Bonne pratique : un cookie n’est pas fait pour stoker des données mais uniquement un identifiant unique crypté (lisible uniquement par le serveur). De cet identifiant, on récupère ensuite les infos associées coté serveur.
De cette manière, un seul cookie est nécessaire (on y associe autant d’info qu’on veut coté serveur), celui-ci est le plus léger possible, et n’y a plus de risque de fuite d’infos (quand bien même quelqu’un arriverait à décrypter le cookie il ne récupèrerais qu’un identifiant inexploitable en tant que tel..)


Bah si, une interception du cookie permet toujours d’usurper les sessions en cours (pas de récupérer le hash du mot de passe, certes).
&nbsp;



Blood_Man
Il y a 8 ans

En parlant de sécurité de mdp, étant abonné chez orange (internet fixe) j’avais perdu mon mot de passe. Je demande donc un mdp et il me sort quoi ? mon ancien mot de passe, en clair…. Bizarre non ?


Tarvos
Il y a 8 ans

C’est quoi le salage exactement?&nbsp; explication Simple hein.
&nbsp;
&nbsp;


maestro321
Il y a 8 ans

Mais ça, il n’y a rien à y faire en HTTP. La seul parade c’est d’être en HTTPS.


Keizo Abonné
Il y a 8 ans

Ah d’accord, donc ça veut dire que les failles xss permette à une personne mal intentionné d’écrire sur le serveur qui contient le code javascript à la base et d’en altérer son contenu.

Ce genre de chose m’étonnera toujours. y’a pas un paramètre dans le serveur qui empêcherait qu’une écriture de ce genre soit possible ? (au niveau de la restriction rwx )
Enfin pour moi un serveur web dans l’idéal serait un point accessible du net (donc vulnérable) mais dont il serait impossible d’écrire dessus sauf lors d’un déploiement/MàJ.


picatrix
Il y a 8 ans






Blood_Man a écrit :

En parlant de sécurité de mdp, étant abonné chez orange (internet fixe) j’avais perdu mon mot de passe. Je demande donc un mdp et il me sort quoi ? mon ancien mot de passe, en clair…. Bizarre non ?


mais comment sais-tu que c’est ton ancien mot de passe puisque tu l’avais perdu. <img data-src=" />



alex.d. Abonné
Il y a 8 ans

Le HTTPS n’empêche pas le XSS.

Chopage des cookies via XSS, puis immédiatement, usurpation des sessions en cours. Cookie crypté ou non, communications en HTTPS ou non. Bon, normalement certains gestionnaires de sessions gueulent si on réutilise le même cookie depuis plusieurs IP pour éviter ça, mais ça fait aussi merdoyer ces sites sur les hotspots instables ou les connexions avec load balancing.
&nbsp;


Blood_Man
Il y a 8 ans

Disons qu’une attaque par dictionnaire arriverait à trouver mon mdp ^^.


thinkerone
Il y a 8 ans

c’est pas nécessairement stocké dessus, dans ce cas, le XSS est dit reflectif et ne s’applique qu’aux personne qui font la requête directement avec le code dedans (par exemple suite à un phishing ou on amène la victime a cliquer sur un lien spécifique).

Maintenant un serveur où tu n’as aucun moyen d’écrire ce sont certain sites web style an2000, de nos jour ya toujours une partie commentaires ou une partie compte utilisateur ou que sais-je qui fait qu’il est possible d’écrire (rien qu’a la place de mon pseudo je pourrais mettre du code, et sur un site vulnérable, toute personne chargeant une page affichant mon pseudo exécutera le code). les informations sont stockées en base de données mais ça reste une inscription de donnée sur le serveur… la seule protection c’est de filtrer correctement les informations que le serveur reçoit de la part des utilisateur pour s’assurer qu’il n’intègre ou en renvoie rien qui puisse tromper le navigateur de ses visiteurs.

&nbsp;


RaoulC
Il y a 8 ans

Mettre dans le cookie un jeton temporaire de connexion, lié dans la bdd à un compte utilisateur dont on mémorise l’ip de dernière authentification, et vérifier la correspondance IP/JETON ca doit marcher non?

(je précise, le jeton est lié a un COMPTE unique, pas juste a une ip. L’ip est une info enregistrée dans le compte :)
&nbsp;
Le pirate récupère le cookie, mais a moins d’avoir la meme ip que le visiteur il ne pourra rien faire.
&nbsp;





Keizo a écrit :

Mais une question…
Comment un pirate peut récupérer le cookie d’un utilisateur X ?
Il l’a intercepté ? du coup c’est une MitM non ?
il l’a récupéré sur un serveur de lesnumeriques.com ?
il l’a récupéré en étant sur l’ordinateur de l’utilisateur X ?

Enfin c’est un peu la question que je me pose en lisant cette article…



Alors concrétement :
* Soit un logiciel qui vole les cookies dans les navigateurs (ca accompagne parfois les voleurs de mots de passe)
* Soit il profite d’une faille XSS dans un site.

Imagine une page web : tu a une zone de saisie de texte où l’on ne controle pas assez ce que les gens mettent.
Et le contenu se retrouve inséré dans la bdd/page web après. Comme un commentaire tient :)

&lt;script&gt;alert(“Vive des chouquettes”)&lt;/script&gt; . A chaque chargement de la page tu aurait un message à, la noix.
Il suffit d’écrire un script a peine plus elaboré (avec document.cookie) pour envoyer le contenu du cookie de la page a un serveur distant contrôlé par l’attaquant.

Ca c’est pour la XSS persistante.

&nbsp;Il existe aussi des cas ou la XSS est juste temporaire, quand on ne contrôle pas le contenu des variables d’une URL en général et qu’on les affiche directement dans la page.&nbsp; Dans ce cas le pirate t’envoie un lien piégé

http://www.nextinpact.com/a=1&b=2&c=“code html inséré par le pirate”(avec tout un code de faux formulaire de login par exemple)
&nbsp;

&nbsp;



zir0faive Abonné
Il y a 8 ans

C’est une suite de caractères ajoutée au mot de passe pour rendre le hachage plus difficile à inverser. Jette un oeil à la page Wikipedia sur le sujethttps://fr.wikipedia.org/wiki/Salage_(cryptographie)


Tarvos
Il y a 8 ans






zir0faive a écrit :

C’est une suite de caractères ajoutée au mot de passe pour rendre le hachage plus difficile à inverser. Jette un oeil à la page Wikipedia sur le sujethttps://fr.wikipedia.org/wiki/Salage_(cryptographie)


Merci, ta réponse est quand même plus simple et compréhensible que celle de kikipedia.
&nbsp;



Zerdligham Abonné
Il y a 8 ans

Ce qu’on m’avait présenté comme bonne pratique, c’est un truc long, aléatoire (généré par un outil de qualité, qui lave plus aléatoire que les générateurs <img data-src=" />), et vérification que l’id n’ait jamais été utilisé (pas même par une session passée). L’id doit changer à chaque session, bien entendu.
Ce qui est essentiel, c’est que l’id ne puisse pas être deviné, donc pas de n° qui se suivent ou de timestamp (pas même hashés), ni de construction à partir des infos du clients (son IP, MAC, id…).

Le point ‘jamais utilisé’ me semble légèrement overkill, et peut-être pas très facilement scalable. Après, tel que j’ai compris le sujet, si on a une section aléatoire suffisamment longue et une section non aléatoire qui assure l’unicité, c’est bien sécurisé : la longue partie aléatoire assure la non-devinabilité, l’autre partie assure l’unicité, peu importe si elle peut être devinée.
Attention toutefois à ce que cette partie qui assure l’unicité ne contienne pas d’info sensible, donc pas d’id ou de mdp. Un compteur incrémenté fait l’affaire.


maestro321
Il y a 8 ans






Zerdligham a écrit :

Ce qu’on m’avait présenté comme bonne pratique, c’est un truc long, aléatoire (généré par un outil de qualité, qui lave plus aléatoire que les générateurs <img data-src=" />), et vérification que l’id n’ait jamais été utilisé (pas même par une session passée).
[…]
Le point ‘jamais utilisé’ me semble légèrement overkill, et peut-être pas très facilement scalable.


Comme tu dis, pour répondre à cette contrainte : “chaine aléatoire sans doublon”, c’est la merde à mettre en place (faut en générer suffisamment à l’avance, ou bien stocker et vérifier à chaque génération si ce n’est pas un doublon), t’es obligé de faire un outil spécifique.
Avec un chiffrement tu t’en fout, tu sais que ta chaine de sortie sera illisible, immodifiable ET unique (tant que l’id d’entré est unique, mais pour ça un simple auto-incrément suffit).



Zerdligham Abonné
Il y a 8 ans

Oui, mais avec un simple id chiffré, si un pirate arrive à récupérer la clé (par exemple en analysant ses cookies successifs), il peut ensuite très facilement prédire tous les identifiants futurs. C’est certes très difficile, mais si quelqu’un y arrive, c’est catastrophique. D’où l’intérêt de mélanger les deux, ce qui est à la fois techniquement facile, et très robuste.
D’ailleurs, php génère ses id de session à peu près comme ça (à la différence qu’ils ne garantissent pas de façon absolue l’unicité, c’est seulement très improbable d’avoir une collision). Je ne sais pas pourquoi ils n’ont pas garanti l’unicité avec un truc genre auto-increment, il doit y avoir une subtilité qui m’échappe.


maestro321
Il y a 8 ans






Zerdligham a écrit :

Oui, mais avec un simple id chiffré, si un pirate arrive à récupérer la clé (par exemple en analysant ses cookies successifs), il peut ensuite très facilement prédire tous les identifiants futurs. C’est certes très difficile, mais si quelqu’un y arrive, c’est catastrophique. D’où l’intérêt de mélanger les deux, ce qui est à la fois techniquement facile, et très robuste..


A ce moment là, ce n’est pas que mon site qui est en danger, mais le web en entier, ça veut dire que les algos de chiffrages sont faillibles.<img data-src=" />
Et si un pirate à ce genre de capacité, il trouvera une autre faille sans aucune difficulté.<img data-src=" />



Zerdligham Abonné
Il y a 8 ans

L’écrasante majorité des chiffrements symétriques sont basés sur des clé générées aléatoirement, et périmées rapidement. Le risque qu’un pirate puisse retrouver la clé en analysant en détail une connexion existe, mais ça ne lui donne pas le moyen de déchiffrer toutes les communications futures.
Pour ton id de session c’est pareil : si tu chiffres avec une clé aléatoire, unique et à faible durée de vie, c’est probablement super-sécure. Par contre tu reportes la difficulté le la génération de l’id sur la génération de la clé. Si tu chiffres toujours avec la même clé, la difficulté pour remonter à la clé est toujours la même, mais si quelqu’un y arrive, c’est une porte d’entrée durable.
Sinon même sans considérer que c’est l’algo de chiffrement qui tombe, une clé de chiffrement peut s’obtenir par d’autres moyens (chantage…). Le nombre aléatoire à le bon goût de ne pas être divulguable à l’avance.

Pour un petit site perso, ça n’a pas une très grande importance, mais si tu gères des données vraiment sensibles, mieux vaut éviter.

Après, tu as peut-être raison de dire qu’il existe souvent des moyens plus simple d’entrer, mais c’est pas parce que la porte de derrière ferme mal qu’il faut laisser les fenêtres ouvertes!


maestro321
Il y a 8 ans






Zerdligham a écrit :

Après, tu as peut-être raison de dire qu’il existe souvent des moyens plus simple d’entrer, mais c’est pas parce que la porte de derrière ferme mal qu’il faut laisser les fenêtres ouvertes!


Sauf qu’il ne s’agit pas d’entrer par une fenêtre ouverte, mais d’entrer par la grande porte blindée de la banque.
Trouver une clef de cryptage (par la simple analyse du cookie) d’un algo de chiffrement récent et puissant n’est pas à la hauteur du premiers venu, je ne sais même pas si les services secret d’état en sont capable (pas pour rien qu’ils pondent des lois pour récupérer directement les clefs).
Alors le jour où ça arrivera je pense que j’aurais d’autres soucis..

Et sinon comme tu dis, suffit de faire varier de temps en temps la clef de cryptage/algo de cryptage, mais quand on en arrive à ce point là de la parano, il faut remettre en cause toute la chaîne de sécurité (logiciel, matériel, humain) et on s’en sort jamais.<img data-src=" />



Zerdligham Abonné
Il y a 8 ans






maestro321 a écrit :

Trouver une clef de cryptage (par la simple analyse du cookie) d’un algo de chiffrement récent et puissant n’est pas à la hauteur du premiers venu, je ne sais même pas si les services secret d’état en sont capable (pas pour rien qu’ils pondent des lois pour récupérer directement les clefs).


Le contexte est différent. Dans le cas de l’inversion d’un cookie, tu sais exactement ce que tu cherches. Ça reste difficile, mais ça l’est largement moins que le problème général de déchiffrement d’une archive type truecrypt.



maestro321 a écrit :

quand on en arrive à ce point là de la parano, il faut remettre en cause toute la chaîne de sécurité (logiciel, matériel, humain) et on s’en sort jamais.<img data-src=" />


C’est pas vraiment une question de parano, simplement de compromis. La sécurité c’est toujours soupeser le risque vs le coût de la protection.
Ici, des solutions sont nativement intégrées dans pleins d’outils. Sauf adhérence à un outil spécifique incompatible le coût de la protection est nul, donc aussi petit soit le risque, il n’y a pas de raison de le tolérer.
Dans le cas de la reprise d’un projet bourré de failles, ce n’est effectivement pas le premier sujet dont je me préoccuperais <img data-src=" />



maestro321
Il y a 8 ans






Zerdligham a écrit :

Le contexte est différent. Dans le cas de l’inversion d’un cookie, tu sais exactement ce que tu cherches. Ça reste difficile, mais ça l’est largement moins que le problème général de déchiffrement d’une archive type truecrypt.


Ha bon? Si je te dit que c’est un simple ID numérique tu sais quoi chercher.. Mais encore faut-il que je te dises ce que tu dois chercher.<img data-src=" />
Sinon, un simple sallage fixe de l’id suffit.. Tu ne sais plus quoi chercher.. (pas besoin d’ajouter de l’aléatoire)



Zerdligham Abonné
Il y a 8 ans

Si je sais que f(x & sel) = qdmcjadica, f(x+1 & sel) = qo^finpqocve, f(x+2 & sel) = dqsùvknaevn ; potentiellement, ça me donne un angle d’attaque (d’ailleurs, le sel, s’il est constant, n’apporte absolument rien). On est d’accord que ça reste quelque chose de pas trivial.
Mais surtout, si j’y arrive, que ce soit par chance, par astuce ou en tapant suffisamment fort sur ton admin, je peux prédire tous tes futurs id de session, et usurper l’identité de qui je veux.

En fait ta méthode c’est un peu comme hasher les mots de passe avec un sel constant.
En soit, c’est pas mauvais, parce que ça reste très difficile d’inverser l’algo de hachage, mais le problème c’est que si quelqu’un se procure son mdp haché hors-ligne, il peut prendre tout son temps pour le casser et en déduire le sel. Avec cette info, il aura beaucoup plus de facilité à casser les autres mots de passe s’il arrive à se procurer leurs hashs.

La critique ne porte pas sur la facilité à casser un mécanisme donné, mais sur le fait que réussir à en casser un ouvre la porte à tous les autres. Pour reprendre ta métaphore de la porte blindée, c’est comme si forcer tranquillement une porte blindée dans mon garage me permet d’en déduire comment fabriquer la clé de toutes les portes blindées de la même marque à travers le monde. Elle peut être aussi solide qu’elle veut, ça en fait une porte blindée médiocre.

C’est pour ça qu’il est recommandé de façon générale d’utiliser des valeurs aléatoires pour tout ce qui doit être difficile à deviner, et n’a pas besoin d’être retenu par un humain. C’est pour les sels de mots de passe, les jetons CSRF, les id de session…


Zerdligham Abonné
Il y a 8 ans

Arf, j’ai dit une connerie sur le hash.
Ce qu’il va avoir ton son temps pour faire, c’est construire sa rainbowtable, évidemment pas trouver le sel, qui n’a rien de secret.