Kürzlich hat Sangfor eine Schwachstelle bezüglich der Remote-Befehlsausführung in der Apache-Achsenkomponente entdeckt. Der Kern dieser Sicherheitsanfälligkeit liegt in der Fehlkonfiguration von AdminService durch den Administrator. Wenn das Attribut enableRemoteAdmin
auf „true“ gesetzt ist, kann der Angreifer die erstellte WebService-Schnittstelle aus der Ferne veröffentlichen Die referenzierte Klasse kann Sicherheitslücken bei der Remote-Befehlsausführung ausnutzen.
Einführung in die Achsenkomponente
Der vollständige Name der Achse Apache EXtensible Interaction System
ist das skalierbare interaktive Apache-System. axis bietet das Grundgerüst für die Erstellung serverseitiger, clientseitiger und Gateway-SOAP-Operationen. Die aktuelle Version von axis ist hauptsächlich für Java gedacht und die Version für C++ befindet sich in der Entwicklung. axis ist nicht unbedingt eine SOAP-Engine, kann aber auch als eigenständiger SOAP-Server und als in eine Servlet-Engine (z. B. Tomcat) eingebetteter Server verwendet werden.
Schwachstellenanalyse
Der Kern der Schwachstelle ist der Konfigurationsfehler des Administrators von AdminService
. Wenn das Attribut „enableRemoteAdmin“ auf „true“ gesetzt ist, kann der Angreifer WebService
konstruieren, um die Klasse freemarker
in der Komponente template.utility.Execute
aufzurufen, die AdminService-Schnittstelle remote zum Veröffentlichen von WebService zu verwenden, erneut auf die generierte WebService-Schnittstelle zuzugreifen und die zu übergeben Der auszuführende Befehl kann durch Schwachstellen bei der Remote-Befehlsausführung ausgenutzt werden.
Wiederkehr der Sicherheitslücke
Erstellen Sie die Umgebung axis 1.4+tomcat6
und setzen Sie das Attribut „enableRemoteAdmin“ in der AdminService-Konfiguration auf „true“.
Geben Sie die erstellten Daten für die WebService-Veröffentlichung ein, wie unten gezeigt:
Rufen Sie dann die WebService-Schnittstelle auf, um den Befehl zu übergeben und auszuführen, wie unten gezeigt :
Reparaturvorschläge
1. Konfigurieren Sie die URL-Zugriffskontrollrichtlinie: Der auf dem bereitgestellte Achsenserver Auf das öffentliche Netzwerk kann über zugegriffen werden. Die ACL verbietet den Zugriff auf die Pfade /services/AdminService
und /services/FreeMarkerService
.
2. Deaktivieren Sie die Fernverwaltungsfunktion der Achse: Bei der Version WEB-INF im Ordner server-config.wsdd
im Achsenverzeichnis ändern und den Wert von „enableRemoteAdmin
“ auf „false“ setzen.
Um mehr über Web-Sicherheit zu erfahren, besuchen Sie bitte: Webserver-Sicherheit
Das obige ist der detaillierte Inhalt vonSo beheben Sie die Sicherheitslücke bei der Remote-Befehlsausführung in der Apache-Achsenkomponente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!