Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 16h16   #1
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
Par défaut CSRF attaque avec IE

Bonjour,
Je viens de déployer mon application sur mon serveur.
Arrivant à la page de connexion, j'entre mes identifiants et mot de passe, tout fonctionne bien...
Sauf sur IE. En effet, impossible de me connecter sur l'appli en utilisant IE (FireFox et Chrome pas de problèmes).
Je reçois une alerte "csrf token: CSRF attack detected."

C'est étrange, car quand je développais en local, je n'ai jamais eu cette erreur même avec IE...

J'utilise le plugin sfDoctrineGuardPlugin.

Avez vous une idée du pourquoi ?
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 12h20   #2
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
En désactivant la protection CSRF sur ce form je ne vois plus l'erreur:

Code :
$this->disableLocalCSRFProtection();
Mais le système ne m'affiche pas la page voulue...
Il reste sur la page de login. (signinSuccess)
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 15h31   #3
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

Aurais tu un petit bout de code sur ta manière d'utiliser ce plugin ??

C'est étonnant que tu n'ai pas cette erreur sur d'autres navigateurs, serait-ce un problème de cache ??

Le CRSF, ne le désactive pas, c'est un conseil, il s'agit d'un protection de sécurité, qui permet de sécuriser tes formulaires grâce à l'ajout d'un token de sécurité dans chacun d'eux...

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 17h50   #4
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
Ma manière d'utiliser ce plugin est celle de base, je n'ai pas touché au code du plugin...

Oui je sais qu'il est déconseillé de désactiver la protection csrf, je l'ai fais dans l'unique but de voir si IE arrivait à se connecter en n'ayant pas cette validation à faire... Et il se trouve que non.

J'ai vidé maintes fois le cache mais cela ne change rien...

De plus sous Chrome ou FF, aucun problèmes
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 10h38   #5
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

Tu peux nous mettre un petit bout de code, qu'on appréhende mieux ton problème ??

A vu de nez, tu dois mal rediriger lors du submit, c'est pour ça que le framework te renvoie une attaque potentielle !!!

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 14h17   #6
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
Il n'y a justement aucun code à montrer, j'ai juste une application sécurisée.
Donc lorsqu'on est pas connecté, on voit le formulaire de connexion de sfDotrineGuardPlugin.
Le module sfGuardAuth est bien activé, ainsi que sfGuardGroup, sfGuardUser et sfGuardPermission...
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 17h04   #7
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Hello,

Pour avancer un peu, pourrais-tu nous montrer le code du formulaire généré par FF, puis par IE ? Si il s'agit d'une différence de comportement entre deux navigateur, il s'agit forcément d'un problème d'interprétation, tu as peut être un id de formulaire ou de champ qui est uniquement numérique, ou quelque chose du genre ...

Sous FF, avec l'extension WebDebugToolbar, tu peux lancer une validation du code dans Outils => Valider le HTML local ... peut être une autre piste à explorer !

Bon courage en tout cas, j'ai déjà eu ce genre de soucis avec un IE capricieux, la seule solution a été ... en fait on a jamais trouvé, on a implémenter quelque chose de complètement différent qui a fonctionné du premier coup, et les causes du bug sont restées mystérieuses
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 09h28   #8
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Moi je dis obligatoirement un problème de cache...
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 14h21   #9
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
Voici le code du formulaire généré par FF :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<div id="signin_container" class="signin_container">
 
<form action="/index.php/guard/login" method="post">
  <table class="signin_table">
    <tbody>
      <tr>
  <th><label for="signin_username">Nom d'utilisateur</label></th>
  <td><input type="text" name="signin[username]" id="signin_username" /></td>
</tr>
<tr>
  <th><label for="signin_password">Password</label></th>
 
  <td><input type="password" name="signin[password]" id="signin_password" /><input type="hidden" name="signin[_csrf_token]" value="01c9e116a75614e74e04228a61562b14" id="signin__csrf_token" /></td>
</tr>
    </tbody>
    <tfoot>
      <tr>
        <td colspan="2">
          <input type="submit" value="Se connecter" />
 
 
                  </td>
      </tr>
 
    </tfoot>
  </table>
</form>
</div>
et voici celui généré par IE :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<div id="signin_container" class="signin_container">
<form action="/index.php/guard/login" method="post">
  <table class="signin_table">
    <tbody>
      <tr>
  <th><label for="signin_username">Nom d'utilisateur</label></th>
  <td><input type="text" name="signin[username]" id="signin_username" /></td>
</tr>
<tr>
  <th><label for="signin_password">Password</label></th>
  <td><input type="password" name="signin[password]" id="signin_password" /><input type="hidden" name="signin[_csrf_token]" value="3fcccb590f6264252662039d9cda4be4" id="signin__csrf_token" /></td>
</tr>
    </tbody>
    <tfoot>
      <tr>
        <td colspan="2">
          <input type="submit" value="Se connecter" />
 
 
                  </td>
      </tr>
    </tfoot>
  </table>
</form>
</div>
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 14h28   #10
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Le champ hidden "_csrf_token" est bien présent sur les deux...

C'est un problème de cahe, j'en suis persuadé !!!

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 11h33   #11
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Essayes de vider le cache.

Essayes sur une autre machine.

Quel version IE as-tu testées ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 15h38   #12
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
J'ai vidé le cache, çà ne résout pas le problème.
J'ai testé IE7, 8 et 9.

Sur une autre machine, le problème persiste.

EDIT : Il semblerait que le problème vienne de l'heure du serveur (qui retardait d'environ 45 minutes ). En remettant la bonne heure, j'arrive à m'y connecter depuis une autre machine.
Par contre sur la mienne, même en vidant mon cache / cookies impossible de m'y connecter...
Mais bon, ce n'est pas important, du moment que les utilisateurs peuvent utiliser IE

Merci aux personnes qui ont essayé de m'aider.
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h54.


 
 
 
 
Partenaires

Hébergement Web