
Demonstration der SQL-Injection-Schwachstelle in wordpress 5.8.2
Dieses Repository demonstriert eine Sicherheitslücke in WordPress 5.8.2, bei der fehlende Bereinigung in class-wp-tax-query.php in sehr spezifischen Situationen Angreifern ermöglichen kann, SQL-Injection durchzuführen. Beachten Sie, dass eine erfolgreiche Ausnutzung erfordert, dass Entwickler anfälligen Code zur WordPress-Instanz hinzufügen, bei dem nicht bereinigte Benutzereingaben an eine $terms-Variable übergeben werden, die zur Konstruktion einer SQL-Funktion verwendet wird. Siehe evil.php im enthaltenen "evil"-Plugin und das Fehlen der Bereinigung der $terms-Variable in get_sql_for_clause in class-wp-tax-query.php.
Das anfällige/schädliche Plugin befindet sich unter src/wp-content/plugins/evil/evil.php.
Demonstrationsschritte sudo docker-compose up Folgen Sie den Installationsanweisungen unter localhost Aktivieren Sie das WordPress-Plugin im Admin-Panel (es heißt evil plugin) Senden Sie die Anfrage aus newexploit_req.txt an den neu erstellten Server. Sie sollten eine Zeitverzögerung erhalten. Beachten Sie, dass die durch das Plugin demonstrierte Sicherheitslücke eine blinde SQL-Injection ist. Wenn Sie also einen Datenabruf versuchen möchten, müssen Sie die Daten entweder über Zeitverzögerungen oder Fehler abrufen.
Debugging-Hinweise sudo service docker restart, falls ein Namensauflösungsfehler auftritt Passen Sie xdebug.client_host=172.19.0.1 in xdebug.ini nach Bedarf an