Projet

Général

Profil

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
==========================