Titre: [PHP] $_session Posté par: Ss2K le 11 Avril 2007 à 00:08:17 Yoh !
Est-il possible de mentir sur les $_SESSION ? en modifiants les headers http par exemple (comme pour le REFERER) ou même avec une méthode plus complexe ? J'ai fais une zone membre, avec une zone admin, et régulierement je teste les $_SESSION pour verifier que l'user est bien authentifié et qu'il a bien les droits nécessaire pour consulter la page, mais justement... je ne sais absolument pas si ces variables sont fiables (meme si c'est pas du 100% un **No Sms** 90% serait déja pas mal :rolleyes:) Titre: [PHP] $_session Posté par: the lsd le 11 Avril 2007 à 10:28:29 Les sessions sont fiables
Le principe reste simple - authentification - création d'une clé sur le serveur - phpsessid unique (enfin quasi unique, mais pour avoir une clé en double, il faut un sacré paquet d'user connecté en meme temps...) Donc le moyen de bypasser des sessions c'est de trouver le phpsessid de quelqu'un de connecté, qui n'est pas chose facile. Enjoy The lsd Titre: [PHP] $_session Posté par: StCyr le 11 Avril 2007 à 11:18:56 Citation de: the lsd Donc le moyen de bypasser des sessions c'est de trouver le phpsessid de quelqu'un de connecté, qui n'est pas chose facile. Comme dans le challenge des portes de Nms? ;)Titre: [PHP] $_session Posté par: Ge0 le 11 Avril 2007 à 12:00:12 StCyr, évite de spoiler...
Sinon the lsd, des que tu as le phpsessid d'une autre personne, tu as accès à ses données de session, nop ? Titre: [PHP] $_session Posté par: Zmx le 11 Avril 2007 à 12:30:17 il y as pas une histoire de global j'sais pas quoi a true dans php4 qui peux permettre sous certaine condition d'ecraser la session ?
Titre: [PHP] $_session Posté par: nofx le 11 Avril 2007 à 12:55:41 Si je crois qui ya un truc avec les globales si elles ont été mal iniatilisées au départ!
ya un truc dans le genre ici http://www.student-designer.com/fr/tutoriaux/programmation/php-mysql/securite/php-register-globals-failles/ Titre: [PHP] $_session Posté par: Ss2K le 13 Avril 2007 à 17:01:57 vous parlez de register_global ? il me semble que maintenant c'est a OFF (mais je sais pas trop a quoi ca sert)
Sinon merci the lsd tu m'evite de verifier systematiquement si le compte a bien été créé :) Titre: [PHP] $_session Posté par: darkfig le 14 Avril 2007 à 15:48:32 Citation - phpsessid unique (enfin quasi unique, mais pour avoir une clé en double, il faut un sacré paquet d'user connecté en meme temps...) La clé généré sera toujours unique, etant donné que les sessions sont stockés dans un repertoire, il ne peut pas y avoir de fichiers portant le meme nom (sess_[0-9]{32} le plus souvent) dans un meme repertoire. Citation Donc le moyen de bypasser des sessions c'est de trouver le phpsessid de quelqu'un de connecté, qui n'est pas chose facile. Via une xss, ou en ayant un accès local et un exploit php permettant de bypasser les restrictions imposés par open_basedir c'est faisable (ou par exemple via une faille de type overwrite de variables =)) ;)Citation Sinon the lsd, des que tu as le phpsessid d'une autre personne, tu as accès à ses données de session, nop ? Cette joke...les données des sessions sont stockés sur le serveurs et le dossier (la plupart du temps) est protégé d'accès, tu ne peut donc pas y avoir accès, sauf si ya du code qui affiche des données du tableaux sessions.Citation il y as pas une histoire de global j'sais pas quoi a true dans php4 qui peux permettre sous certaine condition d'ecraser la session ? Oui. Si la directive register_globals est sur On, et si la personne n'a pas appellé la fonction session_start() il est possible de modifier / créé des valeurs du tableau $_SESSIONS.Citation vous parlez de register_global ? il me semble que maintenant c'est a OFF (mais je sais pas trop a quoi ca sert) Oui pour des raisons de sécurité cette directive est sur Off par défaut maintenant ;)Titre: [PHP] $_session Posté par: mito le 16 Avril 2007 à 20:04:41 Citation Oui. Si la directive register_globals est sur On, et si la personne n'a pas appellé la fonction session_start() il est possible de modifier / créé des valeurs du tableau $_SESSIONS. La variable $_SESSIONS est faillible car on a oublié la fonction [h]session_start()[/h] !!!.c'est à dire que nous pouvons crée notre sessions puis nous connectez avec celle-ci.?(j'en apprendrai tous les jours) =) Vous connaissez d'autre astuce ,où une variable est faillible quand on a oublié une fonction. Ma soif de connaissance est grande .Le partage est *bidirectionnel* :P Titre: [PHP] $_session Posté par: the lsd le 18 Avril 2007 à 08:43:58 Citation de: darkfig Citation - phpsessid unique (enfin quasi unique, mais pour avoir une clé en double, il faut un sacré paquet d'user connecté en meme temps...) La clé généré sera toujours unique, etant donné que les sessions sont stockés dans un repertoire, il ne peut pas y avoir de fichiers portant le meme nom (sess_[0-9]{32} le plus souvent) dans un meme repertoire.Citation de: darkfig Citation Donc le moyen de bypasser des sessions c'est de trouver le phpsessid de quelqu'un de connecté, qui n'est pas chose facile. Via une xss, ou en ayant un accès local et un exploit php permettant de bypasser les restrictions imposés par open_basedir c'est faisable (ou par exemple via une faille de type overwrite de variables =)) ;)Citation de: darkfig Citation Sinon the lsd, des que tu as le phpsessid d'une autre personne, tu as accès à ses données de session, nop ? Cette joke...les données des sessions sont stockés sur le serveurs et le dossier (la plupart du temps) est protégé d'accès, tu ne peut donc pas y avoir accès, sauf si ya du code qui affiche des données du tableaux sessions.Enjoy The lsd |