0% ont trouvé ce document utile (0 vote)
14 vues3 pages

Sécurisation des JWT contre les attaques

Transféré par

wafae.hamdaoui.web
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues3 pages

Sécurisation des JWT contre les attaques

Transféré par

wafae.hamdaoui.web
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Sécurité Informatique : Détails et Explications

 1. Sécurisation des applications


 La sécurisation des applications est une étape primordiale dans le
développement pour protéger les données, les utilisateurs, et le système
contre les attaques et les accès non autorisés. Voici les principales
méthodes de sécurisation :
 a. Gestion des utilisateurs et des rôles
 Contrôle d'accès basé sur les rôles (RBAC) : Cette technique permet
de limiter l'accès aux différentes parties de l'application en fonction du rôle
d'un utilisateur (admin, utilisateur, invité, etc.). Cela évite que les
utilisateurs non autorisés puissent accéder à des informations sensibles ou
modifier des données.
 Authentification : Tu peux implémenter des systèmes d’authentification
robustes avec des frameworks comme OAuth2 ou JWT (JSON Web
Token) pour gérer les sessions des utilisateurs de manière sécurisée. Par
exemple, après qu’un utilisateur s’est connecté, l’application génère un
jeton (token) qui sera utilisé pour valider toutes les actions futures de
l’utilisateur sans qu'il ait à se reconnecter à chaque requête.
 Autorisation : Une fois qu’un utilisateur est authentifié, l'autorisation
détermine quelles ressources ou actions l'utilisateur peut accéder.
L'autorisation peut se baser sur des règles prédéfinies liées aux rôles ou
aux permissions spécifiques.
 b. Utilisation des certificats SSL/TLS
 SSL (Secure Sockets Layer) et TLS (Transport Layer Security) sont
des protocoles cryptographiques utilisés pour sécuriser les
communications sur Internet. Ils permettent de chiffrer les données
échangées entre le client et le serveur, empêchant ainsi les attaques de
type "man-in-the-middle" où un attaquant intercepte les communications.
 Pour une application web, il est essentiel d’utiliser HTTPS (HTTP Secure),
qui utilise le protocole TLS pour sécuriser les pages web. Cela garantit aux
utilisateurs que leurs informations (par exemple, identifiants, informations
de carte de crédit) sont transmises de manière sécurisée.
 Certificats SSL/TLS : Un certificat SSL est nécessaire pour activer le
HTTPS sur un site web. Il est délivré par une Autorité de Certification (CA)
et prouve que le site web appartient à une entité légitime. En installant un
certificat SSL/TLS, toutes les données envoyées entre le serveur et le
navigateur seront cryptées.
 2. Vulnérabilités et Attaques Courantes
 En tant que développeur, tu dois connaître et prévenir les vulnérabilités les
plus fréquentes :
 a. Injection SQL (SQL Injection)
 L’injection SQL est une technique d'attaque où un pirate insère du code
SQL malveillant dans une requête SQL pour exécuter des actions
inattendues, comme accéder à des informations sensibles, modifier ou
supprimer des données.
 Exemple d'injection SQL : Supposons que ton code ait une requête SQL
similaire à celle-ci :
 sql
 Copier le code
 SELECT * FROM users WHERE username = ' " + username + " ' AND
password = ' " + password + " ';
 Si un attaquant entre " OR "1"="1 dans le champ username, cela pourrait
transformer la requête en :
 sql
 Copier le code
 SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '';
 Cela pourrait potentiellement permettre à l’attaquant d’accéder à
n’importe quel compte sans connaître le mot de passe.
 Prévention :
 Utiliser des requêtes préparées ou des ORM (Object-Relational
Mapping) qui s’occupent de la gestion sécurisée des requêtes SQL et
échappent les caractères spéciaux.
 Sanitisation des entrées : Nettoyer et valider toutes les entrées des
utilisateurs pour éliminer les caractères ou expressions dangereuses.
 b. Cross-Site Scripting (XSS)
 L'attaque XSS permet à un attaquant d'injecter des scripts malveillants
dans une page web consultée par d'autres utilisateurs. Ces scripts peuvent
voler des informations sensibles comme des cookies de session, rediriger
vers des sites malveillants, ou exécuter des actions en leur nom.
 Exemple d'attaque XSS : Si un formulaire sur ton site web permet de
soumettre du texte sans échapper les balises HTML, un attaquant pourrait
soumettre un script malveillant comme :
 html
 Copier le code
 <script>alert('Votre compte est piraté!');</script>
 Ce script serait alors exécuté dans le navigateur de tous les utilisateurs qui
visitent cette page.
 Prévention :
 Échapper toutes les données d’entrée utilisateur avant de les
afficher sur la page. Cela empêche l’exécution de scripts malveillants.
 Utiliser des frameworks qui échappent automatiquement les entrées,
comme Angular, qui protège par défaut contre les attaques XSS en
échappant toutes les expressions dans le HTML.
 Content Security Policy (CSP) : Mettre en place des politiques de
sécurité du contenu pour spécifier quelles sources de scripts peuvent être
exécutées, limitant ainsi les possibilités d'injection de scripts non
autorisés.

 3. Autres Vulnérabilités à Connaître :


 a. Cross-Site Request Forgery (CSRF)
 Le CSRF est une attaque où un utilisateur authentifié est forcé à exécuter
une action non désirée sur une application à son insu, simplement en
visitant un site malveillant.
 Prévention :
 Ajouter des tokens CSRF dans chaque formulaire ou requête afin de
vérifier que la requête provient de l’utilisateur légitime.
 b. Attaques par Force Brute
 Il s’agit d’une attaque où un attaquant essaie toutes les combinaisons
possibles pour deviner un mot de passe ou un identifiant.
 Prévention :
 Limiter le nombre de tentatives de connexion par un même utilisateur ou
une même IP.
 Utiliser CAPTCHA pour éviter les attaques automatisées.
 c. Man-in-the-middle (MITM)
 Dans cette attaque, un pirate intercepte les communications entre deux
parties pour voler des informations ou injecter des données malveillantes.
 Prévention :
Utiliser le chiffrement SSL/TLS

Vous aimerez peut-être aussi