OVH Community, votre nouvel espace communautaire.

[PHP] piratage ID de session ?


avdp
22/09/2007, 18h42
Alors là, je crois que ça se confirme: on dirait bien qu'il y a un pb avec les sessions sur des serveurs d'Ovh.

Car voici le message d'erreur de Firefox que je viens d'obtenir:
Redirection de page incorrecte
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
* La cause de ce problème peut être la désactivation ou le refus des cookies.


Or mon Firefox est bien réglé pour accepter les cookies du site concerné.
Je n'ai pas Norton, ni aucun autre utilitaire du genre.
Et aussi... je constate ces pb de sessions dans deux sites seulement, sur quatre qui sont hébergés chez Ovh.

Ce n'est plus un pb de programmation, je vais ouvrir un autre fil.

Abogil
21/09/2007, 23h13
Citation Envoyé par avdp
Ah désolé... je suis incapable de répondre, je n'ai pas Avast.
C'est ce que le client m'a transmis.
Peux-tu demander à ton client de te préciser les opérations qu'il a effectué sur Avast, et quelle version d'Avast il utilise.
Personnellement, je n'utilise que la version gratuite qui ne concerne que la partie anti-virus.

Abogil
21/09/2007, 23h10
Citation Envoyé par avdp
Au fait, comment fait-on pour supprimer l'icone "Réglé" ?
Tu modifies ton premier message.

avdp
21/09/2007, 23h05
Citation Envoyé par Abogil
J'utilise AVAST, et je n'ai jamais vu cette option.
Où se trouve-t'elle ?
Ah désolé... je suis incapable de répondre, je n'ai pas Avast.
C'est ce que le client m'a transmis.

Au fait, comment fait-on pour supprimer l'icone "Réglé" ?

Abogil
21/09/2007, 22h31
Citation Envoyé par avdp
-- il utilise Avast, dans lequel il a déclaré le site comme "site de confiance";
J'utilise AVAST, et je n'ai jamais vu cette option.
Où se trouve-t'elle ?

avdp
21/09/2007, 22h18
Bin finalement, ce n'est pas réglé. J'ai trois cas bizarres:

1)
Ce pb d'id de session placé dans l'url au lieu du cookie touche systématiquement l'un de mes visiteurs.
Or...
-- il n'a pas Norton;
-- il utilise Avast, dans lequel il a déclaré le site comme "site de confiance";
-- son navigateur accepte tous les cookies.

2)
Le pb se produit fréquemment sur des visites du crawler de Google.

3)
J'ai souvent - et de façon non systématique - un pb avec mysql à cause de variables de session manquantes, dans des compositions de colonnes ou de noms de table.

J'en déduis que c'est peut-être bien dans les sessions chez Ovh que se trouve le pb.

avdp
28/08/2007, 17h40
Citation Envoyé par Abogil
Le problème est que NORTON a un excellent service marketing qui a réussi a faire préinstaller sa solution chez la plupart des grands fabriquants d'ordinateurs.
De ce fait une grande partie de la population qui surfe sur Internet passe par la moulinette NORTON.
Eh oui... et souvent sans même savoir que ce truc est installé sur leur bécane, plus ou moins bien, a fortiori qu'il leur barre les cookies de session...
Alors le régler, n'en parlons pas...

Abogil
28/08/2007, 13h25
Citation Envoyé par avdp
Et alors je parie que c'est encore un coup de Norton mal configuré... quelle calamité, ce truc...
Le problème est que NORTON a un excellent service marketing qui a réussi a faire préinstaller sa solution chez la plupart des grands fabriquants d'ordinateurs.
De ce fait une grande partie de la population qui surfe sur Internet passe par la moulinette NORTON.

Cid
28/08/2007, 10h41
Citation Envoyé par avdp
...encore un coup de Norton mal configuré... quelle calamité, ce truc...
Tu m'étonnes, ça fait bien longtemps que je l'ai viré celui et que j'utilise des gratuits.

Cf. http://www.inoculer.com/

frk333
28/08/2007, 03h17
Cool !

avdp
27/08/2007, 23h21
Citation Envoyé par frk333
il me semble que quand le navigateur n'accepte pas les cookies l'id session est automatiquement ajouté à l'URL...
C'était bien ça ! Merci, frk333.

avdp
27/08/2007, 12h49
Citation Envoyé par frk333
il me semble que quand le navigateur n'accepte pas les cookies l'id session est automatiquement ajouté à l'URL...
Bonjour,

Ah oui, je crois que c'est la bonne piste...
Et alors je parie que c'est encore un coup de Norton mal configuré... quelle calamité, ce truc...

frk333
27/08/2007, 12h15
Salut,

il me semble que quand le navigateur n'accepte pas les cookies l'id session est automatiquement ajouté à l'URL...

avdp
26/08/2007, 07h02
Citation Envoyé par Abogil
Autant pour moi, tu as raison Avdp, $_SERVER['REMOTE_HOST'] existe bien.
[...]
D'autre part, en faisant sur mon site une boucle sur toutes les variables retournées par $_SERVER, je ne trouve pas de$_SERVER['REMOTE_HOST']. Est-ce parce que je suis chez Cegetel ?
Je ne sais pas répondre à cette question. Mais autrement dit, d'après cette déf, un serveur qui ne retourne pas cette valeur est donc un serveur mal configuré (?).
Alors tout est possible... et pour revenir à mon mouton (noir), comme deux ou trois clients seulement me créent le pb, je m'interroge sur la config de leur serveur...

Et tout ça est très ennuyeux parce que, par sécurité, je bloque les connexions qui contiennent "[nom de session]=[id]" dans l'URL.
Donc je bloque des visiteurs sains.

Abogil
26/08/2007, 06h46
Autant pour moi, tu as raison Avdp, $_SERVER['REMOTE_HOST'] existe bien.

Voici la définition que donne http://fr2.php.net/manual/fr/reserve...riables.server :
'REMOTE_HOST'

Le nom de l'hôte qui lit le script courant. La résolution DNS inverse est basée sur la valeur de REMOTE_ADDR.

Note: Votre serveur web doit être configuré pour créer cette variable. Par exemple, pour Apache, vous devez ajouter la directive HostnameLookups On dans le fichier httpd.conf, pour que cette variable existe. Voyez aussi gethostbyaddr().
D'autre part, en faisant sur mon site une boucle sur toutes les variables retournées par $_SERVER, je ne trouve pas de $_SERVER['REMOTE_HOST']. Est-ce parce que je suis chez Cegetel ?

avdp
26/08/2007, 06h38
Citation Envoyé par Abogil
Je ne connais pas de $_SERVER['REMOTE_HOST'] , peut être s'agit'il de $_SERVER['REMOTE_ADDR'] ?
De toute façon, a mon humble avis, il ne faut jamais s'appuyer sur les variables $_SERVER['xxx']. Elle ne sont là qu'à titre indicatif.
Non, il s'agit bien de "REMOTE_HOST". Mais le mieux, c'est que tu essayes.
Et en l'occurrence, je ne m'appuie pas sur ces variables.
Je ne faisais que signaler, "à titre indicatif" justement (et par parenthèses, d'ailleurs), que l'un des serveurs touchés ne retourne jamais cette valeur (par contre, il a bien un "REMOTE_ADDR").

Mais cette diversion ne résoud pas le pb, ne nous égarons pas...

Abogil
26/08/2007, 06h18
Je ne connais pas de $_SERVER['REMOTE_HOST'] , peut être s'agit'il de $_SERVER['REMOTE_ADDR'] ?

De toute façon, a mon humble avis, il ne faut jamais s'appuyer sur les variables $_SERVER['xxx']. Elle ne sont là qu'à titre indicatif.

avdp
26/08/2007, 00h30
Citation Envoyé par enycu
En fait, SetEnv SESSION_USE_TRANS_SID 0 sert à interdire que le session id soit dans l'URL. Mieux vaut 2 fois qu'une, non?
Certes...
Citation Envoyé par enycu
Sinon, il faut analyser ton code par ce que ce n'est pas normal.
Bien sûr, je vais voir mais... et pour répondre en même temps à Abogil, si c'était dans mon code, je pense que ce serait systématique et pour tous mes visiteurs.
Or ça ne touche que deux visiteurs (un bloc neuf.fr et un bloc wanadoo), et depuis peu de temps. Le premier de façon systématique, mais l'autre non (d'ailleurs, ce serveur neuf.fr ne retourne pas de "REMOTE_HOST"...).

Abogil
25/08/2007, 23h31
Citation Envoyé par avdp
Un id de session peut-il être transmis par URL, bien qu'on ait imposé la transmission par cookie ? (par "session.use_only_cookies").
Est-ce systématique et reproductible ?

enycu
25/08/2007, 23h11
En fait,
SetEnv SESSION_USE_TRANS_SID 0
sert à interdire que le session id soit dans l'URL. Mieux vaut 2 fois qu'une, non?
Sinon, il faut analyser ton code par ce que ce n'est pas normal.

avdp
25/08/2007, 13h31
Citation Envoyé par enycu
As-tu mis cette ligne dans ton fichier .htaccess ?
SetEnv SESSION_USE_TRANS_SID 0
Non, rien sur les sessions dans mon htaccess.
Je gère ça dans les scripts en démarrant les sessions par cette ligne PHP:
ini_set("session.use_only_cookies","1");

Casse-bonbons, cette histoire...
Est-ce que ça peut venir du serveur du visiteur ?

enycu
25/08/2007, 12h16
As-tu mis cette ligne dans ton fichier .htaccess ?
SetEnv SESSION_USE_TRANS_SID 0

avdp
25/08/2007, 08h22
Citation Envoyé par enycu
Cookie et URL passent par 2 voies différentes.
Pirater un cookie est assez compliqué et si ça marche, c'est la faute à pas de chance. Le scénario est le suivant:
- D'abord, ton script doit avoir une faille d'authentification.
- Ensuite (imaginons qu'il s'agit d'un bog), le pirate poste dans les commentaires du blog un lien qui active la faille en utilisant notamment un XSS (cross-site scripting).
- Pour que le pirate vole le cookie de l'administrateur, il faut que l'admin clique sur ce lien quand il est loggué sur son blog.
Bonjour,

Bin oui, d'où ma question: lorsqu'on a imposé la transmission par cookie, y a-t-il des cas particuliers mais "normaux" où l'ID peut quand même être transmis par URL ?... ou bien est-ce forcément le signe d'un piratage ?

De plus, dans mon cas, ce n'est pas le scénario que tu indiques...
Ça se produit entre les pages 1 et 2 du site, il n'y a même pas d'authentification ! (et pas de blog, forum, etc.).
Le "REQUEST_URI" de la page 2 contient ' ? [...] & [nom session] = [id] ' alors que la transmission par cookie est imposée.
Ça se produit, depuis quelque temps, avec les connexions d'un visiteur parfaitement connu et digne de confiance, qui sait à peine ce qu'est une adresse IP.
Comprends pas...

enycu
25/08/2007, 05h23
Cookie et URL passent par 2 voies différentes.
Pirater un cookie est assez compliqué et si ça marche, c'est la faute à pas de chance. Le scénario est le suivant:
- D'abord, ton script doit avoir une faille d'authentification.
- Ensuite (imaginons qu'il s'agit d'un bog), le pirate poste dans les commentaires du blog un lien qui active la faille en utilisant notamment un XSS (cross-site scripting).
- Pour que le pirate vole le cookie de l'administrateur, il faut que l'admin clique sur ce lien quand il est loggué sur son blog.

avdp
24/08/2007, 19h38
Bonjour,

Un id de session peut-il être transmis par URL, bien qu'on ait imposé la transmission par cookie ? (par "session.use_only_cookies")

Ou bien est-ce que c'est forcément une tentative de piratage de session ?

Merci d'avance de toute piste.