


So beheben Sie die Sicherheitslücke bei der Remote-Befehlsausführung in der Apache-Achsenkomponente
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Um ein CGI-Verzeichnis in Apache einzurichten, müssen Sie die folgenden Schritte ausführen: Erstellen Sie ein CGI-Verzeichnis wie "CGI-bin" und geben Sie Apache-Schreibberechtigungen. Fügen Sie den Block "scriptalias" -Richtungsblock in die Apache-Konfigurationsdatei hinzu, um das CGI-Verzeichnis der URL "/cgi-bin" zuzuordnen. Starten Sie Apache neu.

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Es gibt 3 Möglichkeiten, die Version auf dem Apache -Server anzuzeigen: Über die Befehlszeile (apachect -v- oder apache2CTL -v) überprüfen Sie die Seite Serverstatus (http: // & lt; Server -IP- oder Domänenname & GT;/Server -Status) oder die Apache -Konfigurationsdatei (Serversion: Apache/& lt; Versionsnummer & GT;).).

Wenn der Port -80 -Port der Apache 80 besetzt ist, lautet die Lösung wie folgt: Finden Sie den Prozess, der den Port einnimmt, und schließen Sie ihn. Überprüfen Sie die Firewall -Einstellungen, um sicherzustellen, dass Apache nicht blockiert ist. Wenn die obige Methode nicht funktioniert, konfigurieren Sie Apache bitte so, dass Sie einen anderen Port verwenden. Starten Sie den Apache -Dienst neu.

Wie sehe ich die Apache -Version an? Starten Sie den Apache -Server: Verwenden Sie sudo Service Apache2, um den Server zu starten. Versionsnummer anzeigen: Verwenden Sie eine der folgenden Methoden, um die Version anzuzeigen: Befehlszeile: Führen Sie den Befehl apache2 -v aus. Seite Serverstatus: Greifen Sie in einem Webbrowser auf den Standardport des Apache -Servers (normalerweise 80) zu, und die Versionsinformationen werden unten auf der Seite angezeigt.

Wie konfigurieren Sie Zend in Apache? Die Schritte zur Konfiguration von Zend Framework in einem Apache -Webserver sind wie folgt: Installieren Sie Zend Framework und extrahieren Sie es in das Webserververzeichnis. Erstellen Sie eine .htaccess -Datei. Erstellen Sie das Zend -Anwendungsverzeichnis und fügen Sie die Index.php -Datei hinzu. Konfigurieren Sie die Zend -Anwendung (application.ini). Starten Sie den Apache -Webserver neu.

Apache kann aus den folgenden Gründen nicht beginnen: Konfigurationsdatei -Syntaxfehler. Konflikt mit anderen Anwendungsports. Berechtigungen Ausgabe. Aus dem Gedächtnis. Prozess -Deadlock. Dämonversagen. Selinux -Berechtigungen Probleme. Firewall -Problem. Software -Konflikt.

Um eine zusätzliche Servername -Anweisung von Apache zu löschen, können Sie die folgenden Schritte ausführen: Identifizieren und löschen Sie die zusätzliche Servername -Richtlinie. Starten Sie Apache neu, damit die Änderungen wirksam werden. Überprüfen Sie die Konfigurationsdatei, um Änderungen zu überprüfen. Testen Sie den Server, um sicherzustellen, dass das Problem behoben ist.
