Récemment, Sangfor a découvert un exploit de vulnérabilité d'exécution de commande à distance dans le composant de l'axe Apache. L'essence de cette vulnérabilité est due à une mauvaise configuration d'AdminService par l'administrateur. Lorsque l'attribut enableRemoteAdmin
est défini sur true, l'attaquant peut utiliser à distance l'interface AdminService pour publier le WebService construit. Lors d'un nouvel accès à l'interface WebService générée, en interne. La classe référencée peut être déclenchée. Exploiter les vulnérabilités d’exécution de commandes à distance.
introduction aux composants de l'axe
nom complet de l'axe Apache EXtensible Interaction System
est le système interactif évolutif Apache. axis fournit le cadre de base pour la création d’opérations SOAP côté serveur, côté client et passerelle. La version actuelle d'Axis est principalement destinée à Java et la version pour C++ est en cours de développement. axis n'est pas exactement un moteur SOAP, mais peut également être utilisé comme serveur SOAP autonome et comme serveur intégré dans un moteur de servlet (tel que Tomcat).
Analyse de la vulnérabilité
L'essence de la vulnérabilité est l'erreur de configuration de l'administrateur de AdminService
. Lorsque l'attribut activateRemoteAdmin est défini sur true, l'attaquant peut construire WebService
pour appeler la classe freemarker
dans le composant template.utility.Execute
, utiliser à distance l'interface AdminService pour publier WebService, accéder à nouveau à l'interface WebService générée et transmettre le commande à exécuter. Des vulnérabilités d’exécution de commande à distance peuvent être exploitées.
Récurrence de la vulnérabilité
Créez l'environnement axis 1.4+tomcat6
et définissez l'attribut activateRemoteAdmin dans la configuration AdminService sur true.
Saisissez les données construites pour la publication WebService, comme indiqué ci-dessous :
Appelez ensuite l'interface WebService pour transmettre la commande et l'exécuter, comme indiqué ci-dessous :
Suggestions de réparation
1. Configurer la politique de contrôle d'accès URL : Le serveur axis déployé sur le Le réseau public est accessible via L'ACL interdit l'accès aux chemins /services/AdminService
et /services/FreeMarkerService
.
2. Désactivez la fonction de gestion à distance de l'axe : la version de l'axe WEB-INF dans le dossier server-config.wsdd
du répertoire axis et définir la valeur de "enableRemoteAdmin
" sur false.
Pour en savoir plus sur la sécurité Web, veuillez visiter : Sécurité du serveur Web
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!