Une vulnérabilité permettant aux attaquants d'exécuter des commandes SQL arbitraires contre votre base de données, pouvant exposer ou détruire des données sensibles.
Utilisez des requêtes paramétrées, validez toutes les entrées utilisateur et implémentez le principe du moindre privilège pour les comptes de base de données.
Permet aux attaquants d'injecter du JavaScript malveillant dans votre site, volant ainsi les données des utilisateurs ou détournant leurs sessions.
Échappez tout contenu utilisateur, utilisez Content Security Policy (CSP) et validez les entrées côté serveur.
Si votre application appelle le système d'exploitation, vous devez vous assurer que les chaînes de commandes sont construites de manière sécurisée pour éviter l'exécution de code arbitraire.
Évitez d'exécuter des commandes système avec des entrées utilisateur. Si nécessaire, utilisez des listes blanches et validez strictement les paramètres.
Les attaquants superposent des éléments invisibles sur votre site pour détourner les clics des utilisateurs vers des actions non souhaitées.
Utilisez les en-têtes X-Frame-Options ou Content-Security-Policy avec frame-ancestors pour empêcher l'intégration de votre site dans des iframes malveillantes.
Les attaquants peuvent forger des requêtes HTTP vers votre site pour tromper vos utilisateurs et déclencher des actions non désirées.
Implémentez des jetons CSRF, vérifiez l'en-tête Referer et utilisez SameSite cookies.
Permet aux attaquants d'accéder à des fichiers sensibles sur votre serveur en manipulant les chemins de fichiers.
Validez et normalisez tous les chemins de fichiers, utilisez des listes blanches de fichiers autorisés et ne faites jamais confiance aux entrées utilisateur.
Du JavaScript malveillant est renvoyé depuis votre serveur dans la réponse, permettant aux attaquants d'exploiter vos utilisateurs.
Échappez toutes les données reflétées dans les réponses, validez les entrées et utilisez CSP.
Vulnérabilité XSS qui se produit entièrement côté client, souvent via la manipulation des fragments d'URI.
Évitez d'utiliser des fonctions JavaScript dangereuses avec des données non fiables, validez les fragments d'URI et utilisez des bibliothèques de sécurité.
Les uploads de fichiers sont un moyen facile pour un attaquant d'injecter du code malveillant dans votre application.
Validez le type et la taille des fichiers, stockez-les en dehors de la racine web, scannez-les avec un antivirus et renommez-les.
Toutes les ressources de votre site doivent avoir un contrôle d'accès, même si elles ne sont pas destinées à être découvertes.
Implémentez une autorisation stricte sur toutes les ressources, utilisez le principe du moindre privilège et testez régulièrement les contrôles d'accès.
Si votre site redirige vers des URLs fournies dans les paramètres, vous pourriez faciliter des attaques de phishing.
Utilisez des listes blanches de destinations de redirection valides ou évitez complètement les redirections basées sur des paramètres.
Un chiffrement insuffisant vous rend vulnérable aux attaques de type homme du milieu.
Utilisez HTTPS avec TLS 1.2 ou supérieur, implémentez HSTS et utilisez des certificats valides.
Divulguer des informations sur les noms d'utilisateur facilite grandement le travail des hackers.
Utilisez des messages d'erreur génériques pour l'authentification et le reset de mot de passe.
Révéler des informations système aide un attaquant à en apprendre davantage sur votre stack technique.
Désactivez les messages d'erreur détaillés en production, supprimez les en-têtes révélateurs et masquez les versions.
Le traitement sécurisé des mots de passe est essentiel, pourtant de nombreux sites le font mal.
Utilisez des algorithmes de hachage modernes (bcrypt, Argon2), n'envoyez jamais de mots de passe en clair et implémentez une politique de mots de passe forts.
Se produit quand un attaquant exploite une vulnérabilité pour usurper l'identité d'un autre utilisateur ou obtenir des permissions supplémentaires.
Vérifiez les autorisations à chaque requête, séparez les rôles clairement et auditez les actions privilégiées.
Un traitement non sécurisé des IDs de session peut permettre le détournement de session utilisateur.
Régénérez les IDs de session après l'authentification, utilisez des cookies sécurisés et implémentez des timeouts de session.
Des IDs de session prévisibles rendent votre site vulnérable au détournement de session.
Utilisez des générateurs cryptographiquement sécurisés pour les IDs de session et assurez une entropie suffisante.
Un traitement non sécurisé des macros XML peut rendre votre serveur vulnérable à des fichiers XML spécialement conçus.
Désactivez les entités externes XML, limitez la profondeur et la taille des documents XML, et utilisez des parseurs sécurisés.
Un traitement non sécurisé des références externes dans XML permet à un attaquant de sonder votre système de fichiers.
Désactivez les entités externes XML, utilisez des formats de données moins complexes comme JSON quand possible.
Parfois les attaquants veulent simplement rendre votre site indisponible aux autres utilisateurs.
Implémentez la limitation de débit, utilisez des CDN et services anti-DDoS, et configurez des timeouts appropriés.
L'envoi de messages email avec une adresse d'expéditeur falsifiée pour tromper les destinataires.
Configurez SPF, DKIM et DMARC pour votre domaine, et éduquez les utilisateurs sur la vérification des expéditeurs.
Les publicités intégrées sont une cible commune pour les hackers qui y injectent du code malveillant.
Utilisez des réseaux publicitaires de confiance, implémentez CSP et scannez régulièrement votre site.
Des paramètres de sécurité inappropriés sont une cause commune de vulnérabilités.
Suivez les guides de durcissement sécuritaire, désactivez les fonctionnalités inutilisées et maintenez les systèmes à jour.
Les bibliothèques tierces peuvent introduire des vulnérabilités ou du code malveillant dans votre système.
Auditez vos dépendances régulièrement, utilisez des outils de scan de vulnérabilités et maintenez-les à jour.
Une journalisation et surveillance complètes sont essentielles pour détecter les événements de sécurité.
Implémentez une journalisation centralisée, surveillez les événements de sécurité et configurez des alertes.
Les dépassements de tampon peuvent permettre aux attaquants de prendre le contrôle de votre serveur ou d'injecter du code malveillant.
Utilisez des langages avec gestion automatique de la mémoire, validez les tailles d'entrée et utilisez des protections au niveau système.
Permet aux attaquants d'utiliser votre serveur pour sonder votre réseau interne.
Validez et filtrez toutes les URLs fournies par l'utilisateur, utilisez des listes blanches et segmentez votre réseau.
Il est dangereux de se fier à la valeur fournie dans l'en-tête Host d'une requête HTTP.
Validez l'en-tête Host, utilisez des listes blanches de domaines et configurez correctement votre serveur web.
La sécurité commence avant même d'écrire du code - une mauvaise conception architecturale crée des vulnérabilités.
Intégrez la sécurité dès la conception, effectuez des modélisations de menaces et suivez les principes de sécurité by design.
Déballer automatiquement les données de requête HTTP peut parfois être trop facile et permettre la modification de champs non autorisés.
Utilisez des listes blanches explicites pour les champs autorisés et ne faites pas confiance aux entrées utilisateur.
Si un attaquant peut accéder et modifier les objets prototype en JavaScript, votre application est en danger.
Validez les clés d'objets, utilisez Object.create(null) pour créer des objets sans prototype et gelés les prototypes critiques.
Les expressions régulières sont fréquemment utilisées en développement web, mais peuvent être abusées par les attaquants.
Évitez d'utiliser des regex avec des entrées utilisateur, limitez la complexité et le temps d'exécution des regex.
Si un attaquant peut injecter du code dans votre processus serveur, vous avez un problème grave.
Évitez d'exécuter du code non fiable, désactivez les fonctions dangereuses et appliquez le principe du moindre privilège.
Si vous placez des données sensibles dans vos fichiers JavaScript, un attaquant les vole probablement.
Ne stockez jamais de données sensibles dans des fichiers JavaScript, utilisez des endpoints JSON protégés par CSRF.
Les attaquants peuvent intercepter et manipuler le trafic HTTPS si vous ne spécifiez pas une version moderne de TLS.
Désactivez les versions anciennes de SSL/TLS, utilisez TLS 1.2+ uniquement et configurez HSTS.
Si les caches DNS en amont ont été empoisonnés, les attaquants peuvent intercepter le trafic avant qu'il n'arrive chez vous.
Utilisez DNSSEC, surveillez les résolutions DNS et utilisez des serveurs DNS de confiance.
Si seules certaines actions nécessitent HTTPS, un attaquant peut voler les identifiants de vos utilisateurs.
Utilisez HTTPS partout, implémentez HSTS et ne mélangez jamais contenu HTTP et HTTPS.
Les attaquants voleront des sous-domaines non utilisés pour distribuer des malwares et effectuer des attaques de phishing.
Supprimez les enregistrements DNS inutilisés, surveillez vos sous-domaines et utilisez des certificats wildcard avec précaution.
L'apprentissage automatique est sujet aux biais et à l'instabilité - il faut des garde-fous pour s'en protéger.
Testez les modèles sur des datasets diversifiés, surveillez les prédictions et implémentez des contrôles humains.
L'injection de prompt permet aux attaquants d'introduire facilement des comportements inattendus dans un modèle d'apprentissage.
Validez et filtrez les prompts utilisateur, limitez les actions du modèle et surveillez les sorties anormales.
Votre modèle d'apprentissage peut divulguer des données sensibles sans que vous le sachiez.
N'entraînez pas les modèles sur des données sensibles, utilisez la confidentialité différentielle et auditez les sorties du modèle.