Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 1.38 KB

File metadata and controls

41 lines (33 loc) · 1.38 KB

CSRF

CSRF = Cross-Site Request Forgery::

  • Type de vulnérabilité des services d’authentification web
  • Principe : ** Faire exécuter à un utilisateur une requête HTTP falsifiée qui pointe sur une action interne au site.
  • Caractéristiques ** Implique un site qui repose sur l’authentification globale d’un utilisateur ** Exploite cette confiance dans l’authentification pour autoriser des actions implicitement ** Envoie des requêtes HTTP à l’insu de l’utilisateur qui est dupé de déclencher ces actions
  • Prévention ** Demander une validation supplémentaire pour les actions critiques (alourdissement du processus ?) ** Utiliser un jeton de validité du formulaire ** Eviter d’utiliser des requêtes GET pour effectuer des modifications du système ** Vérifier le référent (page précédente) dans les pages sensibles

CSRF activé par défaut

Depuis Spring Security 4.0, par défaut, la protection CSRF est activée.

Pour désactiver cette protection::

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
}

variable _csrf

Protéger un formulaire via la variable _csrf::

<c:url var="logoutUrl" value="/logout"/>
<form action=“${logoutUrl}" method="post">
    <input type=“submit" value="Log out" />
    <input type=“hidden" name=“${_csrf.parameterName}" value="${_csrf.token}"/>
</form>