CSRF » Historique » Version 1
Stéphane Boireau, 07/06/2013 05:56
1 | 1 | Stéphane Boireau | h1. CSRF |
---|---|---|---|
2 | |||
3 | Vous recevez par mail une alerte CSRF du type: |
||
4 | |||
5 | ========================== |
||
6 | |||
7 | La variable csrf_alea ne coincide pas avec le gepi_alea en SESSION. |
||
8 | La personne victime de l'attaque était XXXXXXXX. |
||
9 | La page cible était /gepi/saisie/ajax_appreciations.php avec les variables suivantes: |
||
10 | Variables en $_POST: |
||
11 | Variables en $_GET: |
||
12 | |||
13 | ========================== |
||
14 | |||
15 | Voilà ce que j'avais répondu à un gepi-user: |
||
16 | |||
17 | ========================== |
||
18 | |||
19 | Est-ce que le module gepi est bien à jour? |
||
20 | Quelle révision affichée en rouge dans le bandeau d'entête en admin? |
||
21 | |||
22 | Il y avait un défaut dans le dispositif de sauvegarde des appréciations |
||
23 | temporaires: |
||
24 | A chaque changement de champ TEXTAREA, on provoquait l'enregistrement du |
||
25 | contenu du champ dans une table temporaire pour permettre une restauration |
||
26 | par la suite en cas de pépin. |
||
27 | Cet enregistrement se faisait dès qu'on quittait le champ sans se préoccuper |
||
28 | de savoir si le contenu du champ avait changé. |
||
29 | Conséquence: |
||
30 | Si on se reconnectait dans gepi (d'où génération d'un nouveau token de session |
||
31 | dans gepi) en ayant conservé un onglet sur la page de saisie d'appréciations, |
||
32 | qu'on y revenait et s'y promenait de champ en champ sans même chercher à |
||
33 | modifier d'appréciations, on provoquait ces alertes qui ne sont pas de vraies |
||
34 | attaques parce que le token dans la page de saisie était resté celui de |
||
35 | l'ancienne session. |
||
36 | |||
37 | Je pense donc qu'il s'agit d'une fausse alerte, mais qu'avec un gepi à jour |
||
38 | elle devrait moins souvent pouvoir se produire. |
||
39 | |||
40 | Cependant: |
||
41 | Revenir dans un onglet de saisie d'appréciations après s'être |
||
42 | déconnecté/reconnecté n'est pas prudent: |
||
43 | Il faut rafraichir la page avant de tenter des modifs parce qu'elles ne seront |
||
44 | ni sauvegardées en table temporaire, ni sauvegardées à l'enregistrement de la |
||
45 | page. |
||
46 | |||
47 | |||
48 | Note: |
||
49 | Les attaques CSRF consistent à faire en sorte qu'un utilisateur provoque |
||
50 | lui-même les dégats sur ses propres données s'il a une session ouverte. |
||
51 | http://fr.wikipedia.org/wiki/Cross-site_request_forgery |
||
52 | |||
53 | L'utilisation de token (une chaine aléatoire changeant au moins à chaque |
||
54 | session) est un moyen de contrer des attaques CSRF. |
||
55 | |||
56 | ========================== |