Testen der defekten Authentifizierung

Wenn Authentifizierungsfunktionen für die Anwendung nicht korrekt implementiert sind, können Hacker Kennwörter oder Sitzungs-IDs kompromittieren oder andere Implementierungsfehler mithilfe der Anmeldeinformationen anderer Benutzer ausnutzen.

Lassen Sie uns anhand eines einfachen Diagramms die Bedrohungsagenten, Angriffsmethoden, Sicherheitsschwächen, technischen Auswirkungen und geschäftlichen Auswirkungen dieses Fehlers verstehen.

Beispiel

An e-commerce application supports URL rewriting, putting session IDs in the URL −

http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop

Ein authentifizierter Benutzer der Website leitet die URL an seine Freunde weiter, um Informationen zu den reduzierten Verkäufen zu erhalten. Er sendet eine E-Mail an den obigen Link, ohne zu wissen, dass der Benutzer auch die Sitzungs-IDs preisgibt. Wenn seine Freunde den Link verwenden, verwenden sie seine Sitzung und seine Kreditkarte.

Hände an

Step 1- Melden Sie sich bei Webgoat an und navigieren Sie zum Abschnitt "Sitzungsverwaltungsfehler". Lassen Sie uns die Authentifizierung umgehen, indem wir den Cookie fälschen. Unten ist der Schnappschuss des Szenarios.

Step 2 - Wenn wir uns mit den Anmeldeinformationen webgoat / webgoat anmelden, stellen wir in Burp Suite fest, dass die JSESSION-ID C8F3177CCAFF380441ABF71090748F2E lautet, während AuthCookie = 65432ubphcfx bei erfolgreicher Authentifizierung.

Step 3 - Wenn wir uns mit dem Aspekt / Aspekt der Anmeldeinformationen anmelden, stellen wir in Burp Suite fest, dass die JSESSION-ID C8F3177CCAFF380441ABF71090748F2E lautet, während AuthCookie = 65432udfqtb bei erfolgreicher Authentifizierung.

Step 4- Jetzt müssen wir die AuthCookie-Muster analysieren. Die erste Hälfte '65432' ist für beide Authentifizierungen gleich. Daher sind wir jetzt daran interessiert, den letzten Teil der Authcookie-Werte wie - ubphcfx für Webgoat-Benutzer und udfqtb für Aspektbenutzer zu analysieren.

Step 5- Wenn wir uns die AuthCookie-Werte genauer ansehen, hat der letzte Teil die gleiche Länge wie der Benutzername. Daher ist es offensichtlich, dass der Benutzername mit einer Verschlüsselungsmethode verwendet wird. Bei Versuch und Irrtum / Brute-Force-Mechanismen stellen wir fest, dass nach dem Umkehren des Benutzernamens webgoat; Am Ende haben wir taogbew und dann wird das Vor-Alphabet-Zeichen als AuthCookie verwendet. dh ubphcfx.

Step 6- Wenn wir diesen Cookie-Wert übergeben und sehen, was passiert. Ändern Sie bei der Authentifizierung als Benutzer-Webgoat den AuthCookie-Wert, um den Benutzer Alice zu verspotten, indem Sie den AuthCookie für denselben suchen, indem Sie Schritt 4 und Schritt 5 ausführen.

Mechanismen verhindern

  • Entwickeln Sie eine starke Authentifizierungs- und Sitzungsverwaltungssteuerung, sodass alle im OWASP-Standard zur Überprüfung der Anwendungssicherheit definierten Anforderungen an Authentifizierung und Sitzungsverwaltung erfüllt werden.

  • Entwickler sollten sicherstellen, dass sie XSS-Fehler vermeiden, die zum Stehlen von Sitzungs-IDs verwendet werden können.