Sécurité : l'idée de l'attaque CSRF !

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.ย. 2024
  • Je sais que quelque fois l'attaque CSRF n'est pas facile à saisir ou à comprendre. Ici, je te propose de te l'expliquer simplement, en 2 temps : 1. en se mettant à la place d'un hacker pour que tu puisses comprendre la faille et 2. en tant que développeur et développeuse pour savoir comment se protéger.
    Tu aimerais que je te coach ou que j'intervienne dans ton centre de formation ? C'est juste là ! certif.academy

ความคิดเห็น • 42

  • @laurentfontaine2293
    @laurentfontaine2293 15 วันที่ผ่านมา

    Ravi de te retrouver sur cette chaine . Toujours aussi bon pédagogue !

  • @yadusolparterre
    @yadusolparterre ปีที่แล้ว +6

    Super bien expliqué, les exemples non-tech (pâtissier) aident énormément

    • @certifacademy
      @certifacademy  ปีที่แล้ว

      Merci beaucoup, ca me touche ! :) Oui, avec le recul que j'ai, je parviens quelques fois à faire des parallèles avec la vie de tous les jours pour expliquer les mécanismes. J'ai toujours pensé que le plus important n'était pas de "recopier" du code, mais de comprendre les mécanismes derrière :)

  • @Major40Seth
    @Major40Seth 8 หลายเดือนก่อน +2

    Très pédagogique 👏
    Je rajouterai qu'il est encore mieux de générer un token CSRF aléatoire à chaque génération de formulaire, plutôt que d'avoir un token fixe pour chaque utilisateur (à l'instar de ce fait Symfony, par exemple) 🙂

    • @certifacademy
      @certifacademy  8 หลายเดือนก่อน +1

      Merci pour ton retour et ta suggestion avisée ! 👏

  • @rayto1358
    @rayto1358 ปีที่แล้ว +2

    Merci beaucoup pour cette vidéo très explicative ! J'ai trop hâte d'être adulte pour faire de la sécurité informatique comme travail

    • @certifacademy
      @certifacademy  8 หลายเดือนก่อน

      Hello, ravi que la vidéo t'ait plu ! Bonne chance pour ton futur dans la sécurité informatique, c'est un choix passionnant !

  • @yannzido1243
    @yannzido1243 ปีที่แล้ว +1

    Merci beaucoup pour l' explication hyper compréhensible...

  • @claudiaarcand2768
    @claudiaarcand2768 ปีที่แล้ว

    Merci, j'ai lu plusieurs articles et ensuite vidéos et toujours un peu plus confuse, puis j'arrive ici et c'est très clair, enfin! Merci

    • @certifacademy
      @certifacademy  8 หลายเดือนก่อน

      Ravie que la clarté ait prévalu ici ! Si tu as d'autres questions, n'hésite pas. Merci pour tes encouragements !

  • @sebastienverslype
    @sebastienverslype ปีที่แล้ว +1

    Super pédagogique ! J'adore le contenu ❤

  • @spasoweb
    @spasoweb ปีที่แล้ว +1

    Hey, super belle vidéo bien expliqué grossièrement c'est une attaque par fishing la seul différence c'est qu'enfaite on peux faire exécuter une requête a l'utilisateur implicitement et ce que j'aime bien c'est que tu fait la prévention qui va avec c'est super !

    • @certifacademy
      @certifacademy  ปีที่แล้ว

      Hello, merci pour ton commentaire, ca me fait plaisir ! Oui, tu as tout bien compris ! :) J'essaie de faire la prévention en meme temps car finalement, ca compte aussi :D

  • @hichemf_le_vrai
    @hichemf_le_vrai ปีที่แล้ว +1

    merci certif academy grace a toi j'ai réélment compri de ce que sais la faille csrf vraiment gg tes le boss est je m'abonne ps:déso pour les fautes :)

  • @distrorodeo
    @distrorodeo ปีที่แล้ว +2

    Super vidéo 🎉

    • @certifacademy
      @certifacademy  ปีที่แล้ว

      Merci beaucoup ! J'essaie vraiment d'expliquer ces concepts pas très évidents en termes simples et je suis vraiment heureux que ca t'ait aidé ! :)

  • @alassanefall7269
    @alassanefall7269 ปีที่แล้ว

    ❤❤❤je vous propose de faire une vidéo pour le téléchargement de fichiers ou images en symfony avec la possibilité de l'afficher dans la page twig

  • @junior-san45
    @junior-san45 ปีที่แล้ว +1

    super bien expliqué merci à toi !!

    • @certifacademy
      @certifacademy  ปีที่แล้ว +1

      Merci beaucoup pour ton message, ca me fait sourire lorsque j'arrive à aider des personnes !

    • @junior-san45
      @junior-san45 ปีที่แล้ว +1

      @@certifacademy je me suis appuyé sur tes vidéo sur les failles de sécurités pour présenter mon projet de fin d'année, et j'ai obtenu ma certification donc merci a toi !!

  • @poisonheavy8349
    @poisonheavy8349 ปีที่แล้ว +4

    Et là, on remercie Symfony qui met en place automatiquement a vérification d'un token CSRF dans ses forms ^^

    • @certifacademy
      @certifacademy  ปีที่แล้ว

      Merci pour ton message et oui, grave ! Symfony fait pas mal de choses tout seul et en effet on le remercie x)

  • @mehdim2
    @mehdim2 2 วันที่ผ่านมา

    Probleme cest que tu as un identifiant et password et sa, sa minteresserai de savoir comment tu les recuperes. Cest pas chiffré avec une clé specifique ?
    En spring boot le csrf bloque tout sauf les appelles GET nn ?

  • @mohammedraki5515
    @mohammedraki5515 9 หลายเดือนก่อน

    Bravo pour ta vidéo !

    • @certifacademy
      @certifacademy  8 หลายเดือนก่อน

      Merci beaucoup pour tes encouragements ! 🌟

  • @insertnamehere4550
    @insertnamehere4550 11 หลายเดือนก่อน

    Comme tu l'as dit, pas dingue le token CSRF basé sur l'ID de l'utilisateur, car en réalité José étant l'admin du site il est probablement le premier compte et a donc l'ID 1. Mieux vaut utiliser un secret aléatoire. On peut même faire encore mieux en stockant le secret dans la session de l'utilisateur et donc en en changeant à chaque fois qu'il se connecte.
    Il y a aussi l'attribut SameSite qui permet de dire au navigateur de ne pas envoyer un cookie (en l'espèce probablement un cookie de session) en cas de requête cross site, donc pas de CSRF possible.
    Une bonne chose est que le CSRF est en progressive disparition avec l'attribut SameSite des cookies qui passe à Lax par défaut sur les navigateurs. Mais bon c'est pas encore ça, pour l'instant c'est pas par défaut sur Safari et Firefox par ex.

  • @Le_petitmec
    @Le_petitmec ปีที่แล้ว +2

    c'est plus que cool

    • @certifacademy
      @certifacademy  ปีที่แล้ว

      Merci beaucoup pour ton commentaire, ca me fait chaud au coeur ! J'essaie d'aider les personnes avec ce que je sais et voir ton commentaire m'encourage, merci à toi ! :)

  • @Louis-zq3ft
    @Louis-zq3ft ปีที่แล้ว +2

    Le mieux serait de mettre un uuid non?

    • @certifacademy
      @certifacademy  ปีที่แล้ว

      Yes, tu as tout bien compris du coup ! J'en suis heureux ! Alors en particulier, y'a pas de méthodes qu'on peut utiliser pour générer ce token CSRF, mais clairement, un uuid est une de ces méthodes, bien joué ! :)

  • @florentgironde7279
    @florentgironde7279 10 หลายเดือนก่อน

    très intéressant pour moi qui suis front

  • @ley0x
    @ley0x ปีที่แล้ว +3

    Si on vérifie les entête http genre le referer ça peut le faire aussi non ?

    • @certifacademy
      @certifacademy  ปีที่แล้ว +2

      Hello super question ! :) Alors, c'est un bon début, mais un hacker peut malheureusement changer le referer, donc on ne devrait pas s'appuyer dessus en termes de sécurité. D'ailleurs, certains navigateurs essayent de combattre ca (par exemple Safari ou Chrome), mais il existe énormément de navigateurs dans lequel on peut changer le referer :) Un hacker va souvent choisir ces navigateurs là :)

    • @ley0x
      @ley0x ปีที่แล้ว +2

      @@certifacademy top merci pour ta réponse !

  • @jdims651
    @jdims651 5 หลายเดือนก่อน

    ohlala jai compris ton explication alors que celle de mon prof je ne l'avais pas compris

  • @alex595659
    @alex595659 4 หลายเดือนก่อน

    c'est pas du phishing tout simplement ?

  • @CHOKOFLYNN31
    @CHOKOFLYNN31 ปีที่แล้ว

    Hello, alors si j’ai bien compris, je crois voir une faille, donne moi ton avis.
    Je vais chez José et j’effectue une requête depuis chez lui. Son token-CSRF est consultable via F12, je n’ai qu’à recopier cette chaîne de caractère en variable, non ?

    • @insertnamehere4550
      @insertnamehere4550 11 หลายเดือนก่อน

      Bien sûr, néanmoins ça vaut pour la plupart des sécurités ça : Si l'attaquant a un accès à la machine (soit via code malveillant soit physique comme dans ton exemple) faut partir du principe qu'aucune mesure de sécurité ne peut l'arrêter, c'est mort.
      Dans ton exemple tu peux aussi recopier le cookie de connexion de José pour pouvoir l'utiliser chez toi et te connecter sur son compte (session hijacking).
      Le token CSRF c'est efficace uniquement pour empêcher un site d'en attaquer un autre depuis ton navigateur, sans accès physique à ta machine et sans vulnérabilité lui permettant d'y exécuter du code en dehors de sa propre page.

  • @elhadjimamadoudieme7115
    @elhadjimamadoudieme7115 ปีที่แล้ว

    mais mais mais c tres genial youpiiiiiiiiiiiiiiiiiiiiiiiii. Juste fallait appliquer sur le blog book. Oui Ouiiiii applique

    • @certifacademy
      @certifacademy  ปีที่แล้ว

      Haha !! Merci pour ton commentaire et ca se voit que tu es une personne qui a vu mes autres vidéos haha ! Je te remercie pour ton message, c'est tellement gentil et ca me fait tellement plaisir ! :) Ce qui est top, c'est que Symfony vient déjà protégé ! En effet, à chaque fois que Symfony doit générer un formulaire, il place automatiquement un token CSRF :)

    • @elhadjimamadoudieme7115
      @elhadjimamadoudieme7115 ปีที่แล้ว

      @@certifacademy plaisir partagé ! Oui j'ai suivi le blog book en intégralité et depuis lors mon niveau est passé de 2 à 7. Merci encore 🤠. J'attends avec impatience une autre playlist

    • @insertnamehere4550
      @insertnamehere4550 11 หลายเดือนก่อน

      @@certifacademy Un truc contre lequel Symfony ne protège pas nativement et qu'on voit malheureusement souvent c'est les opérations d'écriture déclenchées non pas par un formulaire (POST) mais par un clic sur un lien (GET). Par exemple suppression d'une donnée, voire suppression d'un compte entier.
      Par exemple si le site de José passe par GET pour supprimer des gâteaux et n'ajoute pas de token CSRF, tu peux tenter de faire cliquer José sur un lien bidon par email ou sur le site de voitures, lien qui en réalité déclenche la suppression de tel gâteau que tu n'aimes pas.
      Tu dois aussi pouvoir maquiller ça au cas où José a la présence d'esprit de regarder l'URL qui s'affiche en bas de son écran quand il passe la souris sur le lien : Tu fais un lien vers le site de voitures qui lorsqu'il est visité redirige vers l'URL de suppression.