|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Bonjour,
Pour en finir avec les histoires d'IP et de md5() dans les sessions pour empecher leurs vols par des hackers, je pose cette simple question : Quel est votre numéro de carte bleu ? Ouh là, non... Disons plutot : Pour un site non marchand avec forum, sans donnée confidentielles qui circulent, est-il utile de se blinder contre le vol de session, par exemple en vérifiant les IP ? Est-ce un type de piratage facile et fréquent ? Admettons que le pirate sniffe la session, il récupère l'id du membre ? Que peux-t'il en faire ? Le fumer ? |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : avril 2006 Messages : 38 ![]() |
Salut,
Le principal problème des sessions est lorsque l'identifiant est transmis via l'url. En effet, en voulant donner l'adresse l'adresse d'une page à un ami, une personne peut en même temps lui donner cet identifiant, sans le vouloir, si elle ne fait pas attention. De même, j'avais été confronté à un cas similaire sur un jeu en ligne : chaque alliance disposait d'un espace personnel, dans lequel elle pouvait insérer des liens hypertextes vers des forums externes au jeu. Sur les-dits forums, des petits malins récupéraient le référer, ce qui leur permettaient de se connecter sous le compte de leur victime. En revanche, lorsque cet identifiant est transmis par cookie, le vol de session est beaucoup plus compliqué, et peut donc être considéré comme très peu probable sur un site ordinaire. |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Bon tu es le deuxième à me parler de ce problème, ça doit donc être assez fréquent.
Mais je ne vois pas trop comment ça peut se passer : Le gars est identifié, il fait un copier coller du lien dans la barre d'adresse et l'envoie dans l'email. Je ne vois pas comment les variables de sessions peuvent être envoyées aussi, puisqu'elles sont masquées dans l'url. Cela étant dit, mis à part ce problème et sachant que mes variables de sessions sont dans l'url, est-il très important de se prémunir contre le vol de sessions ? |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() |
Salut
que dire... le criptage MD5 et je pense un minimum, certaine personne utilise les même mot de passe partout on il vont... Pour ce qui est du vole de session sur ton site, si il sagit d'un forum ou de quoi que ce soit ou le client peut mettre quelque chose, ce qu'il faut savoir c'est qu'un voleur peut s'amuser a porter prejudice a quelqu'un envers une autre personne en insultant, rependant des rumeur et autre sous une fausse identité, sinon rien de bien mechant, mais parfois c'est deja pas mal bye |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
D'accord, mais en pratique, ça arrive souvent ?
|
|
|
00
|
|
|
#6 | |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 99 ![]() |
Citation:
Ensuite en pratique, moi j'ai jamais eu de problème. J'ai mis en place un système de véri par IP et USER AGENT + suivi en cas de "intrusion" et du coup je me suis retrouvé avec plein de membre qui ne pouvait plus accéder au site. Donc j'ai arrété cette vérification. |
|
|
|
00
|
|
|
#7 | |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Citation:
Et toi tu dis que tu as eu des problèmes à cause de cela... Quand tu dis "plein de membres" c'est 1% ou 20 % ? C'est quoi une vérif par USER AGENT ? Pour mon site c'est juste un forum, avec prochainement des pages perso. |
|
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() |
ben c comme le tracking IP sauf que l'User Agent tu track le navigateur utilisé.
par exemple l'user Rocco ( Bien son user agent contiendrais : Code :
Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8) Gecko/20051111 Firefox/1.5 Cela peut constituer une deuxieme protection en effet a condition que le voleur n'utilise pas le meme navigateur.
__________________
Nicolas BUI |
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
ça pose manifestement bcp de problèmes.
(merci pour le lien) |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() |
Moi ce que je comprends pas, c'est qu'en php je gere tres bien mes sessions, et elles ne sont pas pour autant transmises dans l'url... Je dois avoir un cookie phpsessid qui doit trainer quelque part, peut-etre, mais je vois pas comment on peut se le faire voler...
Enfin bref, je me contente de <? session_start(); ?> puis de quelques <? $_SESSION['id']='...'; ?> Enfin, je vois pas ou est le problème en fait, tout est géré de façon invisible |
|
00
|
|
|
#11 | |
|
Membre chevronné
![]() |
Citation:
Donc : - les variables de sessions sont stockées sur le serveur, et uniquement sur le serveur... après tout, ça sert à ça - l'identifiant de session suffit à se procurer la session, rien d'autre. A partir du moment où cet identifiant est volé, le "pirate" est associé à la même session. En tous cas, que ce soit l'IP ou le User_Agent ou tout autre information HTTP, ce n'est pas fiable. Tu auras toujours de vrais visiteurs qui passent par un proxy ou routeur, et pour qui ce genre d'infos peut régulièrement changer. D'après moi il n'y a que quelques méthodes vraiment efficaces : - SSL : pas de miracle... le SSL n'a pas été inventé pour faire joli... - vérifier la durée de session. En effet PHP ne la vérifie pas, et le fichier de session n'est pas forcément effacé après les fameuses 24 minutes... du coup un pirate peut avoir quelques heures pour intervenir... C'est donc tout con, mais intégrer cette petite vérification dans le script PHP limite considérablement la durée du risque. - changement régulier de l'ID de session : si l'ID de session change à chaque page, le temps qu'un pirate tente de s'en emparer il sera sûrement trop tard : la session correspondante aura été détruite. (attention toutefois, avec PHP 4 la fonction session_regenerate_id() conserver l'ancienne session... aucun intérêt, mais c'est comme ça) PS : tout ça a déjà longuement été débatu : http://www.developpez.net/forums/d12254/php/langage/sessions/securite-securite-totale-espace-membre/ |
|
|
|
00
|
|
|
#12 | |
|
Membre chevronné
![]() |
Citation:
C'est lui qui envoit le cookie de session à chaque fois que tu appels session_start(). Et lorsque le "trans_sid" est activé, tant que PHP ne reçoit pas de cookie de session (ce qui est forcément le cas de le première page), PHP ira jusqu'à modifier le code HTML généré pour modifier les liens et formulaires... Si l'internaute désactive les cookies, il y a donc un "gros" risque concernant la sécurité. |
|
|
|
00
|
|
|
#13 | ||||
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
ok,
Citation:
Citation:
Citation:
- Vérifier la durée de session : effectué (temps maxi fixé à 30 mn, est-ce trop ?) - Changement régulier de l'ID de session : peut être intéressant, mais je ne sait pas comment faire. Quand le gars s'identifie, je crée une variable de session contenant son ID et bien sur il y a session_start() en haut de chaque page. Mais comment au juste régénérer l'id... Citation:
|
||||
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() |
ah tiens... J'avais jamais fait attention à ça... J'irai me renseigner sur google pour + d'info ça m'intrigue
|
|
00
|
|
|
#15 | ||||
|
Membre chevronné
![]() |
Citation:
Sinon de manière générale, cet ID de session est transféré en clair sur le réseau... et peut donc _théoriquement_ être volé. Typiquement en entreprise un collègue peut facilement le faire, si le réseau utilise des HUB et non des switch (déjà vu, chez France Telecom entre autre). Chez certains hebergeurs, un autre client peut sûrement en faire autant. Citation:
Citation:
Citation:
Mais comme l'indique la DOC, le paramêtre "delete_old_session" n'a été ajouté que dans PHP 5.1.0... du coup il faut supprimer manuellement l'ancien fichier de session. |
||||
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() Inscription : juillet 2005 Messages : 1 221 ![]() |
Je me permet de préciser que j'ai ouvert un post ici, au sujet d'un problème avec session_regenerate_id(). Si quelqu'un a l'amabilité d'y jeter un oeil...
Vu que ça me semble être une solution convenable pour cette histoire de vol de session et compte tenu de l'enjeu (un simple forum avec pages persos). |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com