
Dieses Repository dient dazu, meine forensischen und Schwachstellenanalyse-Fähigkeiten zu demonstrieren und zu üben, indem ich eine webbasierte CVE in einer sicheren Umgebung nachstelle.
Dieses Repository simuliert eine Nachbildung einer webbasierten CVE (CVE-2025-1489) in einer sicheren Umgebung, um meine forensischen/Fähigkeiten zur Schwachstellenanalyse zu demonstrieren und zu üben.
Die identifizierte und reproduzierte Schwachstelle ist eine gespeicherte Cross-Site-Scripting (XSS)-Schwachstelle im WordPress-Plugin WP-Appbox (Version 4.5.4). Der Fehler erlaubt es, dass angreifergesteuerte Eingaben, die in den Appbox-Shortcode eines Beitrags eingefügt werden, aufgrund unzureichender Eingabebereinigung und Ausgabe-Escaping bei benutzergesteuerten Attributen in die Seitenausgabe gerendert werden, was die Ausführung von bösartigem Skript über Attributkontexte ermöglicht. Die Schwachstelle wird in späteren Versionen von WP-Appbox (Version 4.5.5+) behoben.
Das Plugin stellt einen Shortcode [appbox ...] bereit, der eine Anwendungs-ID appID und vom Benutzer bereitgestellte Shortcode-Attribute akzeptiert, die am Einstiegspunkt des Plugins nicht ordnungsgemäß bereinigt oder escaped werden.
In der Quellcode-Datei createoutput.class.php werden Teile der Shortcode-Daten in HTML-Attribute oder Inline-Stile eingefügt, was eine Attributkontext-Injektion ermöglicht (Zeilen 199 und 438-447). Durch das Erstellen einer appID, die ein Hintergrundbild erzwingt, konnte ich wiederholte ausgehende GET-Anfragen an einen Angreifer-Server bestätigen, die klare Indikatoren für serverseitiges gespeichertes XSS sind.
Komponenten:
├── attacker/
│ ├── server.py # Attacker HTTP server to serve and log requests
│ └── requests.log # Logs inbound requests into attacker server from WordPress browser
├── README.md # Main overview & reproduction instructions
├── docker-compose.yml # Docker configuration settings
└── full_report.pdf # Full report including analysis, mitigation, findings, and scope of impact
Einrichtung:
Voraussetzungen: Docker Desktop und svn auf Ihrem Host installiert.
Schritte:
svn, um das Tag 4.5.4 zu ziehen:svn checkout https://plugins.svn.wordpress.org/wp-appbox/tags/4.5.4 wp-appbox-4.5.4
docker-compose up -d
WordPress-Einrichtung:
localhost:8000, um auf WordPress zuzugreifen und einen Admin-Benutzer zu erstellenMelden Sie sich als Angreifer-Benutzer an und navigieren Sie zu Beiträge > Erstellen > Verwenden Sie den Shortcode-Block, um eine schädliche Nutzlast zu erstellen, um die gespeicherte XSS-Schwachstelle auszunutzen.