Parent : [[INDEX-CYBERSECU]]
Anti-Pattern : Désactiver la protection CSRF
Description
Désactiver la protection CSRF (csrf_protection = FALSE) dans CodeIgniter ou tout framework expose l'application aux attaques Cross-Site Request Forgery. Un attaquant peut forcer un utilisateur authentifié à exécuter des actions non désirées.
Exemple réel - Archive Ygg
// config.php — CodeIgniter YggTorrent
$config['csrf_protection'] = FALSE; // ❌ DANGER
$config['csrf_token_name'] = 'csrf_test_name'; // ❌ Nom prévisible
$config['csrf_cookie_name'] = 'csrf_cookie_name'; // ❌ Nom prévisible
Conséquences
- Hijacking de compte : changement d'email/mot de passe forcé
- Transactions forcées : donations, paiements non voulus
- Destruction de données : suppression de torrents, comptes
- Élévation de privilèges : ajout d'administrateurs
Quand c'est acceptable
JAMAIS en production. En développement local uniquement, et temporairement.
Solution
Activer CSRF avec tokens forts et régénération :
$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'csrf_' . bin2hex(random_bytes(8));
$config['csrf_cookie_name'] = 'csrf_cookie_' . bin2hex(random_bytes(8));
$config['csrf_expire'] = 7200;
$config['csrf_regenerate'] = TRUE;
Références
- Archive Ygg :
02_SERVEUR_PRE_PROD/sessions/ci_sessions/config.php - OWASP : CSRF Prevention
- CWE-352 : Cross-Site Request Forgery