IDOR – Im Sitzungsspeicher
Zusammenfassung
IDOR steht für „Insecure Direct Object Reference“, eine Schwachstelle, die in die Kategorie der fehlerhaften Zugriffskontrolle fällt. Kurz gesagt entsteht diese Sicherheitslücke, wenn eine Anwendung Benutzereingaben verwendet, um direkt auf ein Objekt zuzugreifen. Durch die Verwendung einer Schwachstelle mit unsicheren direkten Objektreferenzen ist es möglich, eine horizontale Rechteausweitung zu erreichen, und in einigen Fällen kann dies auch zu einer vertikalen Rechteausweitung führen.
Beschreibung
Ich habe diese Sicherheitslücke in einem der privaten Programme gefunden, die doppelt vorhanden waren. Die Anwendung speicherte die Benutzer-ID im Sitzungsspeicher der Anwendung und diese Benutzer-ID war an das Benutzerkonto gebunden. Es handelte sich um einen sehr einfachen und unkomplizierten Fehler, bei dem keine Zugriffskontrollprüfung für die Benutzer-ID des Benutzerkontos durchgeführt wurde. Eine einfache Änderung des Werts führte zu einer horizontalen Rechteausweitung. Ich konnte das Konto eines anderen Benutzers verwenden und dort die verfügbaren Mittel manipulieren.
Was ist Sitzungsspeicher?
Sitzungsspeicher ist eine Webspeicher-API, die es ermöglicht, Daten für eine einzelne Sitzung in einem Webbrowser zu speichern. Die Sitzungsspeicherung ähnelt der lokalen Speicherung, der einzige Unterschied besteht jedoch darin, dass die Daten gelöscht werden, wenn der Browser geschlossen oder die jeweilige Sitzung beendet wird.
Sitzungsspeicher können zum Speichern von Benutzerdaten, wie z. B. Formulardaten, während der Sitzung eines Benutzers verwendet werden, wodurch das Benutzererlebnis verbessert wird, indem die Notwendigkeit reduziert wird, Anfragen an einen Server zu senden.
Anatomie von IDORs und Sitzungsspeicher
Im Gegensatz zu normalen IDORs sind die IDORs mit Sitzungsspeicher unterschiedlicher Natur, da sie zeitweise keine dauerhaften Änderungen vornehmen, der Schweregrad jedoch immer noch derselbe ist.
Normale IDORs
Bei normalem IDOR-Verhalten können Sie die Profileinstellungen des Opfers dauerhaft ändern, es sei denn, das Opfer besucht sein Profil und macht die Änderung rückgängig.
IDORs in sessionStorage
Bei dieser Art von IDORs werden die Änderungen nicht dauerhaft vorgenommen, da der Angriff über sessionStorage ausgeführt wird. Sobald der Browser geschlossen wird oder die jeweilige Sitzung endet, werden die von Ihnen vorgenommenen Änderungen (z. B. horizontale Rechteausweitung) aufgrund der Beschaffenheit von sessionStorage rückgängig gemacht.
Wie habe ich diese Sicherheitslücke gefunden?
- Ich bin zur Zielwebsite gegangen, wo Sie den Saldo sehen können (rechte Seite)
3. Dann habe ich die Benutzer-ID in die Benutzer-ID des Opfers geändert und die Seite neu geladen
4. Ich habe das Konto des Opfers eingegeben
Warum ist das passiert?
Meiner Meinung nach,
Dies geschah, weil die Benutzer-ID an das Konto des Benutzers gebunden war und keine Zugriffsprüfung durchgeführt wurde, was zu dieser Sicherheitslücke führte.
Auswirkung
Jeder Benutzer kann auf die Konten eines anderen Benutzers zugreifen, was zu einer horizontalen Rechteausweitung und in manchen Fällen auch zu einer vertikalen Rechteausweitung führen kann.
Berechnetes CVSS
Vektorzeichenfolge: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L
Punktzahl: 8,3 (Hoch)
Schadensbegrenzung
Es sollte eine Zugriffsprüfung durchgeführt und eine Überprüfung aller referenzierten Objekte durchgeführt werden. Außerdem sollte eine Authentifizierungs- und Berechtigungsprüfung durchgeführt werden. Darüber hinaus sollten die IDs alphanumerisch sein, um ein Erraten zu verhindern.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































