Maison >Opération et maintenance >Sécurité >Exemple d'analyse des risques du site framework Struts2

Exemple d'analyse des risques du site framework Struts2

王林
王林avant
2023-05-30 12:32:141008parcourir

1. Présentation

Un projet open source sponsorisé par Apache Software Foundation (ASF) est Struts. Le projet a commencé comme une branche du projet de Jakarta et a ensuite été promu au rang de projet de haut niveau de l'ASF. En utilisant la technologie Java Servlet/JSP, il implémente le cadre d'application [Web Framework] basé sur le modèle de conception Model-View-Controller [MVC] des applications Web Java EE. Il s'agit d'un produit classique dans le modèle de conception classique MVC.

Au début du développement des applications Web Java EE, en plus d'utiliser la technologie Servlet, elles étaient généralement développées en utilisant un mélange de code HTML et Java dans le code source des JavaServer Pages (JSP) . Ces deux méthodes sont inévitables dans le mélange de performances et de code de logique métier, ce qui apporte une énorme complexité au développement initial et à la maintenance ultérieure. Afin de se débarrasser des contraintes et limitations ci-dessus et de séparer clairement le code de logique métier de la couche de présentation, Craig McClanahan a adopté en 2000 le modèle de conception MVC pour développer Struts. Ce produit framework était autrefois considéré comme le framework d'application WEB JAVA le plus complet et le plus populaire

Struts2 est un framework d'application Web basé sur le modèle de conception MVC. Il est essentiellement équivalent à un servlet dans le modèle de conception MVC. , Struts2 sert de contrôleur (Controller) pour établir l'interaction des données entre le modèle et la vue. Struts 2 est le produit de nouvelle génération de Struts. Il s'agit d'un nouveau framework Struts 2 qui fusionne les technologies de Struts 1 et WebWork

2 Avec la popularité de. le cadre Struts2, de plus en plus d'unités d'entreprise utilisent le cadre Struts2 pour le développement. Ces dernières années, des vulnérabilités à haut risque ont été exposées à plusieurs reprises dans de nombreux sites gouvernementaux, banques, grandes sociétés Internet, etc. En décembre 2016, les données des utilisateurs de JD.com 12G ont été divulguées, notamment les noms d'utilisateur, les mots de passe, les e-mails, les numéros QQ, les numéros de téléphone, les cartes d'identité et d'autres dimensions, avec des dizaines de millions de données. La raison vient de la vulnérabilité de sécurité de Struts. 2 en 2013. À cette époque, presque toutes les sociétés Internet et un grand nombre de banques et d'agences gouvernementales du pays étaient touchées, ce qui entraînait un grand nombre de fuites de données. Chaque fois qu'une vulnérabilité éclatait dans struts2, les principales plates-formes de vulnérabilité Internet recevaient également de multiples retours tels que. comme :

#🎜🎜 #

Le problème d'exécution de code de Struts2 remonte à 2010, lorsque Meder Kydyraliev de l'équipe de sécurité de Google a découvert qu'il pourrait être contourné en utilisant le codage unicde. Le caractère spécial "#" est filtré par l'intercepteur de paramètres, provoquant des problèmes d'exécution de code. Le numéro de vulnérabilité officiel est S2-003,
Exemple danalyse des risques du site framework Struts2 Retour sur l'historique. des vulnérabilités struts2, nous avons constaté que le responsable n'était pas à blâmer. Premièrement, le développement. La sensibilisation du personnel à la sécurité n'est pas forte et, bien que des mesures de sécurité de base aient été prises, elles sont inefficaces. Deuxièmement, nous estimons que les mesures officielles de réparation manquent de force et semblent n'être que superficielles, sans vraiment résoudre la cause profonde du problème. De plus, l'esprit d'ouverture officiel est vraiment choquant. Ils ont même directement publié le PoC de la vulnérabilité sur le site officiel, ce qui a donné à de nombreuses personnes l'opportunité d'étudier plus en profondeur l'exploitation de la vulnérabilité. plus sérieux.

2.2. inventaire des vulnérabilités Struts2

Vulnérabilité Struts2 qui a un impact relativement important et qui est largement exploitée :

CVE-2010-1870XWork ParameterInterceptors permet de contourner Exécution de l'instruction OGNL

CVE-2012-0392struts2 Vulnérabilité d'exécution de commande à distance DevMod

CVE-2011-3923Struts#🎜 🎜# CVE -2013-1966Struts2

CVE-2013-2251Struts2 # 🎜🎜#Struts2

Struts2 CNVD-2016-02506 , CVE-2016-3081, versions concernées de Struts 2.3.20 - StrutsStruts 2.3.28 (sauf 2.3.20.3 et 2.3.24.3)

Numéro CVE : CVE-2016-4438 Struts(S2-037 ) Vulnérabilité d'exécution de code à distance, versions concernées : Struts 2.3.20 - Struts Struts 2.3.28.1

CVE-2017-5638 Versions concernées : Struts 2.3.5 - Struts 2.3.31

# 🎜 🎜#Struts 2.5 –Struts 2.5.10

Pour d'autres détails, veuillez vous référer à l'historique des vulnérabilités fourni par le site officiel de struts2 :

https ://cwiki .apache.org/confluence/display/WW/Security+Bulletins

3. avec des vulnérabilités fréquentes, nous avons mené une enquête et des statistiques sur la répartition du cadre Struts dans la province, en prenant les empreintes digitales des sites de chaque ville, nous avons dessiné un diagramme de répartition de l'utilisation du cadre Strut2 dans diverses villes de la province comme suit :

# 🎜🎜#

Exemple danalyse des risques du site framework Struts2
En combinant l'analyse du Big Data et l'identification de mots-clés, nous avons analysé les conditions de l'industrie collectées dans lesquelles les sites Strust2 sont utilisés et en avons tiré les tableau suivant :


Exemple danalyse des risques du site framework Struts2

Données spécifiques du tableau :

4 5 6 7 8 9 10 Comme le montre l'image ci-dessus, les trois premiers (remarque : à l'exclusion des autres entreprises) sont les ministères (représentant 28,29 %), les sociétés Internet (25,18 %) et les établissements d'enseignement (9,8 %)
Numéro de série Type d'industrie Quantité Pourcentage
1 Département du Gouvernement 447 28,29%
2 Établissements d'enseignement 155 9,80%
3 Industrie financière 110 6,96%
Industrie des assurances 28 1,77 %
Industrie des valeurs mobilières 14 0,88%
Industrie de l'énergie 8 0,50%
Industrie des transports 93 5,88%
Opérateurs télécoms 114 7,21%
Entreprises Internet 398 25,18%
Autres sociétés 213 13,48%

Nous avons collecté Utilisez le site middleware Struts2 pour la détection des vulnérabilités. Cette fois, nous utilisons plusieurs vulnérabilités à haut risque qui ont un impact relativement important sur Internet pour la vérification, détectons l'existence de vulnérabilités (S2-045, S2-037, S2-032, S2). -016) et les réparer et les renforcer. , après avoir testé 1580 échantillons de sites, il a été constaté qu'il existe encore certains sites où les vulnérabilités Struts2 n'ont pas été réparées. Les informations statistiques des sites où les vulnérabilités ont été détectées sont les suivantes :

.

Numéro de série123 45 Lors de la détection, nous avons constaté que de nombreux sites Web présentaient d'anciennes vulnérabilités avant Stuts2 qui n'ont pas été réparés, exposant ainsi les utilisateurs enregistrés du site Web aux pirates informatiques dans la vulnérabilité Stuts2 devant le museau.
Industrie Il y a des vulnérabilités Quantité
Départements gouvernementaux 3
Établissements d'enseignement 2
Industrie financière 1
Internet Enterprise 2
Autres 2

4. Suggestions de sécurité

À mesure que la situation devient de plus en plus complexe, la sécurité de l'information est devenue un problème qui ne se limite pas à la technologie. Le développement de la science et de la technologie est une arme à double tranchant. Il peut profiter à l’humanité, mais il peut aussi avoir des effets destructeurs. Et ce point, en plus de la technologie elle-même, peut être mieux compris au niveau de notre conscience. L'impact énorme des vulnérabilités est suffisant pour alerter les praticiens de la sécurité de l'information dans l'industrie Internet : un signal d'alarme pour la sécurité de l'information. on continue à sonner tout le temps.

1. Nous devons développer de bonnes habitudes de développement dans le développement du système d'information. La plupart des failles existent dès la phase de développement et, en raison de la négligence pendant le processus de développement, des failles logiques, etc. entraîneront également de grands risques pour la sécurité du système.

2. Les données du site Web sont sauvegardées dans le temps Lorsque le système est attaqué, le système attaqué peut être restauré dans les plus brefs délais.

3. Installez un logiciel antivirus sur le service en arrière-plan, effectuez régulièrement une analyse antivirus et d'autres contrôles de sécurité sur le serveur.

4. Soyez attentif aux dernières vulnérabilités Internet en temps réel et réparez les vulnérabilités du système d'information en temps opportun.

5. Effectuez régulièrement des tests d'intrusion, des tests de vulnérabilité et d'autres travaux sur le système pour découvrir les problèmes à temps et les réparer en temps opportun afin d'éviter que les vulnérabilités ne soient exposées à Internet.

6. Mettez hors ligne les systèmes qui ne sont plus utilisés en temps opportun. En règle générale, les anciens systèmes présentent davantage de problèmes de sécurité et une mauvaise gestion peut entraîner la fuite d'une grande quantité d'informations sensibles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer