Aujourd'hui, le partage des connaissances Tomcat fondit des vulnérabilités à haut risque et fixe avec vous.
1 Tomcat rafale de vulnérabilités à haut risque et réparation
1.1 Contexte de vulnérabilité
2020 20 Février 360CERT surveillance a constaté que les failles de sécurité de l' information nationale plateforme de partage (CNVD) contient CNVD-2020-10487 Apache Tomcat vulnérabilités d'inclusion de fichiers
Tomcat est le projet Apache Software Foundation Jakarta en développement conteneur Servlet, conformément aux spécifications techniques fournies par Sun Microsystems, le soutien mis en œuvre pour Servlet et JavaServer page (JSP) est. Parce que Tomcat lui-même contient le serveur HTTP, il peut également être considéré comme un serveur Web distinct.
CNVD-2020-10487 / CVE-2020-1938 est un fichier qui contient la vulnérabilité, un attaquant pourrait exploiter cette vulnérabilité comprennent tous les fichiers ou lire tout le répertoire webapp Tomcat, tels que: le profil webapp, comme le code source.
Version 1.2 affecte
la 9.x Apache <Tomcat 9.0.31
le 8.x Apache Tomcat <05/08/51
7.x Apache Tomcat <7.0.100
6.x Apache Tomcat
1.3 Analyse de la vulnérabilité
1.3.1 AJP Connecteur
serveur Apache établit une connexion avec le client Tomcat reliée ensemble par l' intermédiaire du connecteur, montrant extrémité du connecteur reçoit la demande et renvoie une réponse. composant connecteur qui est responsable de la réception d' une demande de client, et envoie le résultat de la réponse du serveur Tomcat au client. Dans le serveur Apache Tomcat, nous utilisons habituellement la plupart des 8080, le soi-disant Http protocole connecteur, utilisez Http (HTTP / 1.1)
Dans le fichier conf / server.xml, la configuration correspondante est
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Et AJP Connector, il utilise le protocole AJP (Apache protocole Jserv) est un protocole de paquets. Pour des raisons de performance, au transfert format binaire de la lisibilité du texte, il peut réduire le coût du traitement de la requête HTTP, de sorte que le groupe principal est nécessaire, le scénario proxy inverse est utilisé.
Correspondant au protocole configuré Ajp
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Tomcat réseau externe par défaut du serveur sont deux façons d'ouvrir le port Tomcat Web serveur d'accès client:
1.3.2 analyse de code
place org.apache.coyote.ajp.AbstractAjpProcessor.java # PrepareRequest demandes de localisation de défauts majeurs contenu générés dans le processus Ajp ()
ici , il est d' abord déterminé SC_A_REQ_ATTRIBUTE, ce qui signifie que si l'attribut Ajp pas utilisé dans la liste ci - dessus, il procède à cette condition.
SC_A_REQ_REMOTE_PORT correspond AJP_REMOTE_PORT, ici fait référence à la transmission du port distant, port distant ajp13 pas été transmis, mais accepte les données transmises en tant que port distant.
Donc , ici nous pouvons Ajp ensemble de propriétés spécifiques, telles que trois attributs d'emballage peuvent être définis comme l'attribut objet de requête Attribut
javax.servlet.include.request_uri
javax.servlet.include.path_info
javax.servlet.include.servlet_path
Lire tout fichier 1.3.3
lorsque la demande est distribué à org.apache.catalina.servlets.DefaultServlet # méthode serveResource ()
méthode getRelativePath d'appel nécessite l' acquisition request_uri est non nul, puis acquiert de l'objet de la demande et la valeur des propriétés définies Pathinfo servletPath valeur d'attribut
quand on le voit méthode getResource puis vers le bas, volonté chemin comme paramètre, les fichiers source pour obtenir
la démo de vulnérabilité: lecture de fichier /WEB-INF/web.xml
exécution de la commande 1.3.4
lorsque le traitement demande jsp lorsque le uri, appelle le service org.apache.jasper.servlet.JspServlet de # ()
dernier sera pathinfo à traiter serviceJspFile pour résoudre le fichier jsp, alors quand nous pouvons contrôler les fichiers jsp sur le serveur, comme l'existence jsp le téléchargement de fichiers, cette fois -ci , il peut causer rce
démo de la vulnérabilité: la cause rce
1.4 suggéré fix
La mise à jour suivante à la version de Tomcat:
numéro de version de la branche Tomcat de
Tomcat 7 7.0.0100
Tomcat 5.8.51 8
Tomcat 9.0.31 9
Apache Tomcat 6 a arrêté la maintenance, mise à niveau vers la dernière version prise en charge de Tomcat afin de ne pas souffrir de la vulnérabilité.
S'il vous plaît les clients paient toujours attention à Apache Tomcat® - Bienvenue pour obtenir la dernière version de Tomcat Release et apache / tomcat: Apache Tomcat obtenir la dernière version de git !.
1.5 les données de cartographie spatiale associée
1.6 Solutions latérales de l'article
1.6.1 360 services de surveillance de la sécurité de réseau de niveau de la ville
360 sécurité actifs QUAKE plate - forme de cartographie du cerveau, ce type de vulnérabilité / événement surveillé grâce à des techniques de cartographie des actifs, s'il vous plaît contacter l'utilisateur qui est responsable de l' obtention de la zone de produit concerné produit correspondant.
1.6.2 360AISA plein débit système d'analyse des menaces
360AISA basée sur 360 formation massif grand modèle de sécurité des données et de l' expérience pratique, la détection des menaces à plein débit, les alarmes d'attaque de précision en temps réel, réduisant ainsi la chaîne d'attaque. Actuellement , le produit avec des capacités de détection en temps réel de la vulnérabilité / attaque.
A propos de Tomcat fondit vulnérabilités à haut risque et la réparation, vous apprenez combien? Les commentaires sont les bienvenus dans la zone de commentaires!