Partage de technologie

Recherche d’analyse et de prévention sur les vulnérabilités Web courantes

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Avant-propos :

À l'ère numérique d'aujourd'hui, les applications Web jouent un rôle important en nous offrant divers services et fonctions en ligne. Cependant, ces applications sont souvent confrontées à diverses menaces de sécurité potentielles, qui peuvent entraîner une fuite d'informations sensibles, une paralysie du système et d'autres conséquences néfastes.

  • Vulnérabilité d'injection SQL

L'attaque par injection SQL (SQL Injection), appelée attaque par injection ou injection SQL, est largement utilisée pour obtenir illégalement le contrôle d'un site Web. Il s'agit d'une vulnérabilité de sécurité qui se produit dans la couche de base de données d'une application. Lors de la conception du programme, la vérification des instructions SQL contenues dans la chaîne d'entrée est ignorée et la base de données la considère par erreur comme une instruction SQL normale et l'exécute, exposant ainsi la base de données à des attaques pouvant conduire au vol de données, à leur modification. , puis supprimé, causant ainsi des dommages supplémentaires au site Web, tels que l'intégration de codes malveillants et l'implantation de programmes de porte dérobée.

En règle générale, les emplacements pour l'injection SQL incluent :

  1. La soumission du formulaire, principalement la requête POST, inclut également la requête GET ;
  2. Soumission des paramètres d'URL, principalement les paramètres de requête GET ;
  3. Soumission des paramètres des cookies ;
  4. Certaines valeurs modifiables dans l'en-tête de la requête HTTP, comme Referer, User_Agent, etc.
  5. Certains points d'entrée de bord, tels que certaines informations sur les fichiers .mp3, etc.

Méthodes de prévention courantes :

  • Toutes les instructions de requête utilisent l'interface de requête paramétrée fournie par la base de données. Les instructions paramétrées utilisent des paramètres au lieu d'incorporer des variables d'entrée utilisateur dans l'instruction SQL. Presque tous les systèmes de bases de données actuels fournissent des interfaces d'exécution d'instructions SQL paramétrées. L'utilisation de cette interface peut empêcher efficacement les attaques par injection SQL.
  • Échapper ou encoder les caractères spéciaux (« <>&*;, etc.) qui entrent dans la base de données.
  • Confirmez le type de chaque donnée. Par exemple, les données numériques doivent être des nombres et les champs de stockage dans la base de données doivent correspondre à des types int.
  • La longueur des données doit être strictement spécifiée, ce qui peut empêcher dans une certaine mesure l'exécution correcte d'instructions d'injection SQL relativement longues.
  • L'encodage de chaque couche de données du site Web est unifié. Il est recommandé d'utiliser l'encodage UTF-8 pour toutes les données. Un encodage incohérent des couches supérieure et inférieure peut entraîner le contournement de certains modèles de filtrage.
  • Limitez strictement les autorisations d'utilisation de la base de données des utilisateurs du site Web et fournissez à cet utilisateur des autorisations qui sont uniquement suffisantes pour son travail, minimisant ainsi les dommages causés par les attaques par injection dans la base de données.
  • Empêchez le site Web d'afficher des messages d'erreur SQL, tels que des erreurs de type, des incompatibilités de champs, etc., et empêchez les attaquants d'utiliser ces messages d'erreur pour porter des jugements.
  • Avant la publication du site Web, il est recommandé d'utiliser des outils professionnels de détection d'injection SQL pour détecter et réparer ces vulnérabilités d'injection SQL en temps opportun.

  • Vulnérabilité de script intersite

Les scripts intersites (souvent appelés XSS) se produisent côté client et peuvent être utilisés pour voler la confidentialité, le phishing, voler des mots de passe, diffuser du code malveillant et d'autres attaques.

Les technologies utilisées dans les attaques XSS sont principalement HTML et Javascript, notamment VBScript et ActionScript. Bien que les attaques XSS ne causent aucun dommage direct au serveur WEB, elles se propagent via le site Web, provoquant des attaques sur les utilisateurs du site Web, entraînant le vol de comptes d'utilisateurs du site Web, causant ainsi de graves dommages au site Web.

Les types XSS incluent :

  • Intersite non persistant : la vulnérabilité de script intersite réfléchie est actuellement le type d'intersite le plus courant. Le code intersite existe généralement dans les liens. Lors de la demande d'un tel lien, le code intersite est renvoyé via le serveur. Ce type de code intersite n'est pas stocké sur le serveur (comme une base de données). Les exemples donnés dans les chapitres ci-dessus sont de telles situations.
  • Intersite persistant : il s'agit du type de dommage intersite le plus direct. Le code intersite est stocké sur le serveur (comme une base de données). Une situation courante est qu'un utilisateur publie dans un forum. Si le forum ne filtre pas les données de code Javascript saisies par l'utilisateur, les navigateurs des autres utilisateurs qui parcourent la publication exécuteront le code Javascript intégré par l'affiche.
  • DOM intersite (DOM XSS) : il s'agit d'une vulnérabilité intersite qui se produit dans le DOM client (Document Object Model). La raison principale est le problème de sécurité causé par la logique de traitement du script client.

Les techniques de prévention XSS couramment utilisées comprennent :

  1. Comme pour les recommandations relatives à la protection contre les injections SQL, il est supposé que toutes les entrées sont suspectes et les mots tels que script, iframe, etc. dans toutes les entrées doivent être strictement vérifiés. L'entrée ici n'est pas seulement l'interface d'entrée avec laquelle les utilisateurs peuvent interagir directement, mais inclut également des variables dans les cookies dans les requêtes HTTP, des variables dans les en-têtes de requête HTTP, etc.
  2. Vérifiez non seulement le type de données, mais également leur format, leur longueur, leur plage et leur contenu.
  3. Ne vous contentez pas d'effectuer la vérification et le filtrage des données côté client. Les principales étapes de filtrage sont effectuées côté serveur.
  4. Les données de sortie doivent également être vérifiées. Les valeurs de la base de données peuvent être sorties à plusieurs endroits sur un grand site Web. Même si l'entrée est codée et que d'autres opérations sont effectuées, des contrôles de sécurité doivent être effectués partout aux points de sortie.
  5. Testez toutes les menaces connues avant de publier votre application.

  • Faible vulnérabilité du mot de passe

Il n'existe pas de définition stricte et précise d'un mot de passe faible. Les mots de passe qui sont facilement devinés par d'autres (qui vous connaissent peut-être bien) ou piratés par des outils de piratage sont généralement considérés comme des mots de passe faibles. La définition des mots de passe suit généralement les principes suivants :

  1. N'utilisez pas de mots de passe vides ou de mots de passe par défaut du système, qui sont généralement connus pour être des mots de passe faibles.
  2. La longueur du mot de passe ne doit pas être inférieure à 8 caractères.
  3. Le mot de passe ne doit pas être une séquence continue de caractères (par exemple : AAAAAAAA) ou une combinaison de caractères répétés (par exemple : tzf.tzf.).
  4. Le mot de passe doit être une combinaison des quatre types de caractères suivants : lettres majuscules (AZ), lettres minuscules (az), chiffres (0-9) et caractères spéciaux. Contient au moins un caractère de chaque type. Si un certain type de caractère n’en contient qu’un, alors le caractère ne doit pas être le premier ou le dernier caractère.
  5. Le mot de passe ne doit pas inclure le nom et la date de naissance, la date d'anniversaire, le nom de connexion, l'adresse e-mail et d'autres informations relatives à la personne, aux parents, aux enfants et au conjoint, ainsi que les mots du dictionnaire.
  6. Les mots de passe ne doivent pas être des mots avec des chiffres ou des symboles remplaçant certaines lettres.
  7. Les mots de passe doivent être faciles à mémoriser et rapides à saisir afin que les autres ne puissent pas facilement voir votre saisie derrière vous.
  8. Modifiez votre mot de passe au moins une fois tous les 90 jours pour empêcher des intrus non détectés de continuer à l'utiliser.

  • Vulnérabilité de suivi des en-têtes HTTP

La spécification HTTP/1.1 (RFC2616) définit la méthode HTTP TRACE, qui est principalement utilisée par les clients pour tester ou obtenir des informations de diagnostic en soumettant une requête TRACE au serveur Web. Lorsque le serveur Web active TRACE, l'en-tête de la demande soumise sera renvoyé entièrement dans le contenu (corps) de la réponse du serveur, où l'en-tête HTTP est susceptible d'inclure un jeton de session, des cookies ou d'autres informations d'authentification. Un attaquant pourrait exploiter cette vulnérabilité pour tromper les utilisateurs légitimes et obtenir leurs informations privées. Cette vulnérabilité est souvent combinée avec d'autres méthodes pour mener des attaques efficaces. Étant donné que les requêtes HTTP TRACE peuvent être lancées via des scripts de navigateur client (tels que XMLHttpRequest) et sont accessibles via l'interface DOM, elles sont facilement exploitées par les attaquants. Les méthodes de défense contre les vulnérabilités de suivi des en-têtes HTTP désactivent généralement la méthode HTTP TRACE.

  • Vulnérabilité d'exécution de commande à distance Struts2

Apache Struts est un framework open source permettant de créer des applications Web Java. Il existe un bug de filtrage d'entrée dans Apache Struts qui peut être exploité pour injecter et exécuter du code Java arbitraire si une erreur de conversion est rencontrée.

La plupart des raisons pour lesquelles les sites Web présentent des vulnérabilités d'exécution de code à distance sont dues au fait que le site Web utilise Apache Struts Xwork comme cadre d'application de site Web. Étant donné que ce logiciel présente des vulnérabilités d'exécution de code à distance à haut risque, le site Web est confronté à des risques de sécurité. CNVD a traité de nombreuses vulnérabilités de ce type, telles que : une vulnérabilité d'exécution de commande à distance (CNVD-2012-13934) dans le site Web "GPS Vehicle Satellite Positioning System" ; une vulnérabilité d'exécution de code à distance dans le livre d'or d'Aspcms (CNVD-2012-11590) ; , etc.

  • Vulnérabilité de téléchargement de fichiers

Les vulnérabilités de téléchargement de fichiers sont généralement causées par un filtrage laxiste des variables de chemin de téléchargement de fichiers dans le code de la page Web. Si le code d'implémentation de la fonction de téléchargement de fichiers ne limite pas strictement le suffixe et le type de fichier téléchargés par les utilisateurs, un attaquant peut télécharger n'importe quel fichier via un répertoire accessible. via le Web, y compris le fichier de porte dérobée du site Web (webshell), contrôlant ainsi à distance le serveur du site Web.

Par conséquent, lors du développement de sites Web et d’applications, les fichiers téléchargés doivent être strictement restreints et vérifiés, et les fichiers contenant du code malveillant doivent être téléchargés. Dans le même temps, les autorisations d'exécution des répertoires associés sont limitées pour empêcher les attaques WebShell.

  • Vulnérabilité de fuite d’adresse IP privée

L'adresse IP est un indicateur important d'un utilisateur du réseau et c'est ce que les attaquants doivent connaître avant de lancer une attaque. Il existe de nombreuses façons de l'obtenir, et les attaquants adopteront également différentes méthodes en fonction des différentes conditions du réseau, telles que : utiliser la commande Ping dans le réseau local pour envoyer une requête ping au nom de l'autre partie sur le réseau afin d'obtenir l'adresse IP en utilisant la version IP de ; QQ pour l'afficher directement sur Internet. Le moyen le plus efficace consiste à intercepter et à analyser les paquets de données réseau de l'autre partie. L'attaquant peut trouver et analyser directement les informations d'en-tête IP du paquet de données intercepté via un logiciel, puis apprendre l'adresse IP spécifique en fonction de ces informations.

Pour la « méthode d'analyse des paquets » la plus efficace, vous pouvez installer un logiciel capable de supprimer automatiquement les informations IP dans l'en-tête des paquets de données envoyés. Cependant, l'utilisation de ces logiciels présente certains inconvénients, tels que : ils consomment beaucoup de ressources et réduisent les performances de l'ordinateur ; ils seront affectés lors de l'accès à certains forums ou sites Web, ils ne sont pas adaptés aux utilisateurs des cybercafés, etc. De nos jours, la méthode la plus populaire pour les utilisateurs individuels pour masquer leur adresse IP consiste à utiliser un proxy. Après avoir utilisé un serveur proxy, le « service de transfert » modifiera les paquets de données envoyés, rendant la méthode « d'analyse des paquets » inefficace. Certains logiciels réseau qui divulguent facilement les adresses IP des utilisateurs (QQ, MSN, IE, etc.) prennent en charge l'utilisation de méthodes proxy pour se connecter à Internet, en particulier après que QQ ait utilisé un logiciel proxy tel que « ezProxy » pour se connecter, la version IP de QQ ne peut pas le faire. afficher l’adresse IP. Bien qu'un proxy puisse masquer efficacement l'adresse IP d'un utilisateur, un attaquant peut également contourner le proxy et trouver la véritable adresse IP de l'autre partie. La méthode utilisée par l'utilisateur pour masquer l'adresse IP dans quelles circonstances dépend également de la situation.

  • Demande de connexion non cryptée

Étant donné que la configuration Web n'est pas sécurisée et que les demandes de connexion transmettent des champs sensibles tels que les noms d'utilisateur et les mots de passe non cryptés, les attaquants peuvent écouter le réseau pour voler ces informations sensibles. Il est recommandé de chiffrer, par exemple SSH, avant de transmettre.

  • Vulnérabilité de fuite d’informations sensibles

L'injection SQL, XSS, la traversée de répertoires, les mots de passe faibles, etc. peuvent provoquer une fuite d'informations sensibles et les attaquants peuvent obtenir des informations sensibles via des vulnérabilités.Différentes méthodes de défense sont utilisées pour différentes causes.

  • CSRF

Les applications Web font référence au terme général désignant l'utilisation de l'architecture B/S et la fourniture de services via les protocoles HTTP/HTTPS. Avec l'utilisation généralisée d'Internet, les applications Web ont été intégrées dans tous les aspects de la vie quotidienne : achats en ligne, applications bancaires en ligne, transactions boursières et boursières, approbations administratives gouvernementales, etc. Lors de ces visites Web, la plupart des applications ne constituent pas une navigation Web statique, mais impliquent un traitement dynamique côté serveur. À l'heure actuelle, si les programmeurs de Java, PHP, ASP et d'autres langages de programmation ont une sensibilisation insuffisante à la sécurité et ne vérifient pas strictement la saisie des paramètres du programme, etc., des problèmes de sécurité des applications Web surviendront les uns après les autres.

Alors, comment découvrir à temps les vulnérabilités ci-dessus ?

Je dois mentionnerService d'analyse des vulnérabilités VSS!!

Qu'est-ce qu'un service d'analyse des vulnérabilités ?

Depuis l’essor d’Internet, les incidents de sécurité des réseaux utilisant des attaques de vulnérabilité se sont multipliés et deviennent de plus en plus graves. Les pertes économiques causées par les vulnérabilités dans le monde sont énormes chaque année et augmentent d'année en année. Les vulnérabilités sont devenues l'un des principaux responsables des dommages à Internet et sont également au centre de l'attention du public.

"Vulnerability Scan Service (VSS) est un service de détection de sécurité pour l'analyse des vulnérabilités des sites Web. Il fournit actuellement plusieurs services tels que la détection générale des vulnérabilités, la gestion du cycle de vie des vulnérabilités et l'analyse personnalisée. Une fois que les utilisateurs ont créé une nouvelle tâche, ils peuvent déclencher manuellement l'analyse. tâches pour détecter les vulnérabilités du site Web et fournir des suggestions de réparation des vulnérabilités.

La sécurité du système réseau dépend du maillon le plus faible du système réseau. La sécurité du système réseau est un processus dynamique. Le moyen le plus efficace consiste à effectuer des analyses de sécurité et des analyses régulières du système réseau, à découvrir et à trouver les vulnérabilités d'un système réseau. en temps opportun et les modifier.

    • Scénarios d'application du service d'analyse des vulnérabilités :
      1. Site Web/système de candidature en ligne

Lorsqu'un nouveau site Web/système d'application est mis en ligne, il est nécessaire d'abord de procéder à une évaluation de la sécurité du site Web/système d'application afin d'évaluer si le site Web/système d'application en ligne présente des vulnérabilités et des risques, afin d'assurer la sécurité du site Web/système d'application après il est mis en ligne, et pour réduire le risque d'être piraté ou piraté. Risque de falsification et garantir un fonctionnement sûr du site Web/du système d'application après sa mise en ligne.

      1. Menaces et attaques sur les sites Web/applications

Alors que les nouvelles menaces et attaques continuent de se multiplier, la sécurité des applications Web affecte directement la pérennité du développement commercial. Les sites Web/systèmes d'applications sont souvent soumis à des attaques et à des menaces de sécurité réseau, ce qui entraîne l'écoute clandestine, la retransmission, la falsification et les attaques par déni de service des informations réseau, ainsi que le déni de comportement du réseau, l'usurpation d'identité, l'accès non autorisé, la transmission de virus et d'autres problèmes. . L'inspection de sécurité est une inspection complète du site Web/du système d'application, et des suggestions de réparation professionnelles sont données pour empêcher le site Web d'être utilisé par des pirates informatiques et d'affecter la sécurité du site Web.

      1. Surveillance en temps réel du site Web/du système d’application

Le gouvernement, l'éducation, les finances et d'autres unités doivent surveiller le site Web en temps réel. Si la vulnérabilité n'est pas corrigée à temps, cela affectera sérieusement l'image du gouvernement, de l'éducation et d'autres unités et entraînera donc d'énormes pertes pour l'entreprise. une surveillance et une gestion en temps réel de la sécurité du site Web/du système d’application sont nécessaires. La détection de sécurité affiche intuitivement les résultats de la surveillance, vous alerte dès que des risques sont découverts, identifie rapidement les anomalies des pages Web et notifie des alertes pour empêcher que les vulnérabilités ne soient exploitées et n'affectent la sécurité du système.

      1. Systèmes de sites Web/d’applications et autres exigences de conformité

La protection du niveau de sécurité des informations est un système de base pour la sécurité des informations dans mon pays, exigeant que les opérateurs de réseau se conforment aux exigences du système de protection du niveau de sécurité du réseau. La garantie de classe A exige que les opérateurs de systèmes de sites Web/d’applications effectuent des évaluations de sécurité au moins deux fois par an pour garantir la conformité à la garantie de classe A. Les tests de sécurité aident les utilisateurs qui ont besoin d'une telle assurance à effectuer des évaluations de sécurité et à répondre aux exigences de conformité d'une telle assurance !

    • Que comprend généralement un service d’analyse des vulnérabilités ?
      1. Analyse des vulnérabilités Web

Les failles et les faiblesses du site Web peuvent facilement être exploitées par des pirates informatiques pour provoquer des attaques, entraîner des effets néfastes et entraîner des pertes économiques.

Analyse générale des vulnérabilitésLa riche bibliothèque de règles de vulnérabilité peut effectuer une analyse complète et approfondie des vulnérabilités pour différents types de sites Web et fournir des rapports d'analyse professionnels et complets.

Recherchez les vulnérabilités les plus urgentesPour les vulnérabilités CVE les plus urgentes, les experts en sécurité analysent immédiatement les vulnérabilités, mettent à jour les règles et fournissent l'analyse des vulnérabilités CVE la plus rapide et la plus professionnelle.

      1. Analyse de mot de passe faible

Les actifs tels que les hôtes ou les middlewares utilisent généralement des mots de passe pour la connexion à distance, et les attaquants utilisent souvent une technologie d'analyse pour détecter leurs noms d'utilisateur et leurs mots de passe faibles.

Plusieurs scènes disponiblesConnexion complète au système d'exploitation, couvrant 90 % du middleware, prenant en charge la détection de mots de passe faibles pour les services Web standard, les systèmes d'exploitation, les bases de données, etc.

Riche bibliothèque de mots de passe faiblesRiche bibliothèque de correspondance de mots de passe faibles, simule les pirates pour détecter les mots de passe faibles dans divers scénarios et prend en charge les dictionnaires personnalisés pour la détection des mots de passe.

      1. Analyse du middleware

Le middleware peut aider les utilisateurs à développer et à intégrer des logiciels d'application complexes de manière flexible et efficace. Une fois les vulnérabilités découvertes et exploitées par les pirates, cela affectera la sécurité des couches supérieures et inférieures.

Scénarios d'analyse richesPrend en charge l'analyse des vulnérabilités de version et de la conformité de la configuration des conteneurs Web grand public, des cadres de développement front-end et des piles technologiques de microservices back-end.

Plusieurs méthodes de numérisation en optionIl prend en charge l'identification du middleware et de sa version sur le serveur via diverses méthodes telles que des packages standard ou une installation personnalisée, et découvre de manière exhaustive les risques de vulnérabilité sur le serveur.

      1. Tests de conformité du contenu

Lorsqu'un site Web s'avère avoir un discours non conforme, cela entraînera de multiples pertes pour la marque et l'économie de l'entreprise.

Identification préciseMettez à jour de manière synchrone les exemples de données des points chauds politiques actuels et des événements d'opinion publique, et localisez avec précision divers contenus pornographiques, liés à la violence, au terrorisme, à la politique et autres contenus sensibles.

Intelligent et efficaceEffectuez une analyse sémantique contextuelle du contenu du texte et des images et identifiez intelligemment les variantes de texte complexes.

  • Résumer:

Une fois les vulnérabilités exploitées par des criminels, les entreprises subiront d’énormes pertes. Si vous pouvez découvrir de manière proactive les risques liés aux sites Web et prendre des mesures correctives en temps opportun, vous pouvez réduire les risques et les pertes. Par conséquent, l’analyse des vulnérabilités, en tant que mesure préventive proactive, joue un rôle important pour éviter efficacement les attaques de pirates informatiques et étouffer les problèmes dans l’œuf.

Les services d'analyse des vulnérabilités peuvent résoudre efficacement les défis rencontrés par la gestion de la sécurité des sites Web, et peuvent également mieux répondre à l'efficacité et à la précision requises dans le travail d'inspection de sécurité, afin d'améliorer le niveau de gestion de la sécurité des sites Web et des applications.