Coder Conquer Security: Share & Learn-Serie: Unsichere direkte Objektreferenz

URLs sind für die Navigation auf allen Websites und Webanwendungen, die wir kennen und lieben, unerlässlich. Ihre grundlegende Funktion besteht darin, festzustellen, wo sich Ressourcen befinden und wie sie abgerufen werden können. URLs sind zwar notwendig, damit das World Wide Web funktioniert, aber sie können auch ein Sicherheitsrisiko darstellen, wenn sie nicht ordnungsgemäß gesichert sind.
In diesem Beitrag werden wir lernen:
- Was ist IDOR und wie verwenden Angreifer IDOR
- Warum IDOR gefährlich ist
- Techniken, die diese Sicherheitsanfälligkeit beheben können
Verstehe IDOR
Eine direkte Objektreferenz liegt vor, wenn in einer Anwendung auf einen bestimmten Datensatz (das „Objekt“) verwiesen wird. Es hat normalerweise die Form einer eindeutigen Kennung und kann in einer URL erscheinen.
Zum Beispiel könnten Sie etwas wie „? id=12345" am Ende einer URL. Die Nummer 12345 ist ein Verweis auf einen bestimmten Datensatz. Sicherheitslücken schleichen sich ein, wenn die Zugriffskontrolle für einzelne Datensätze nicht vorhanden ist. Dadurch können Benutzer auf Datensätze und Daten zugreifen, die sie nicht sehen sollten. Dies ist ein Angriff, der ein relativ niedriges Qualifikationsniveau erfordert.
Nehmen wir in diesem Fall an, ein Angreifer ändert die ID in der URL auf 12344. In einer Anwendung, die für IDOR anfällig ist, könnte der Angreifer die zu diesem Datensatz gehörenden Daten sehen.
Wie viel Schaden kann diese Art von Sicherheitslücke wirklich anrichten?
Erfahren Sie, warum IDOR gefährlich ist
Wenn Entwickler nicht vorsichtig sind, können sie ein System entwerfen, das Anwendungsdatensätze an verschiedenen Stellen anzeigt und durchsickert. Ein Verstoß dieser Größenordnung kann erheblich sein, insbesondere wenn es sich um sensible Daten oder personenbezogene Daten handelt.
Das australische Finanzamt eine Website einrichten um Unternehmen bei der Erhebung einer neuen Steuer zu unterstützen. Leider war es mit dem unerwünschten Merkmal einer IDOR-Sicherheitslücke ausgestattet. Ein wissbegieriger Benutzer stellte fest, dass die URLs auf der Website seine australische Geschäftsnummer (ABN) enthielten. Zufällig ist dies eine leicht auffindbare Nummer für jedes registrierte Unternehmen. Dieser Benutzer hat beschlossen, die Nummern anderer Unternehmen in die URL aufzunehmen. Er erhielt ihre Bankkontoinformationen und persönlichen Daten!
Apple ist kürzlich einer IDOR-Sicherheitslücke zum Opfer gefallen. Als das iPad zum ersten Mal veröffentlicht wurde, waren 114.000 Kunden-E-Mail-Adressen durchgesickert. (Um fair zu sein, war es eher ein Fehler von AT&T).
Sie sehen, AT & T hat einen Dienst zur Unterstützung der 3G-Konnektivität für iPads entwickelt. Das iPad sendete eine auf der SIM-Karte gespeicherte Kennung an den Dienst von AT & T. Der Dienst gab dann die E-Mail-Adresse des Benutzers zurück.
Leider waren diese Bezeichner einfach sequentielle Ganzzahlen und waren daher leicht zu erraten. Die Angreifer durchsuchten die Identifikatoren und stahlen die E-Mail-Adressen.
Ein weiterer Fehler war, dass der Dienst von AT & T versuchte, den Dienst zu „sichern“, indem er die E-Mail-Adresse nur zurückgab, wenn die Anfrage User-Agent-Header gab an, dass es von einem iPad kam. Der User-Agent ist nur ein Zeichenkettenwert, der leicht manipuliert werden kann.
IDOR-Sicherheitslücken können subtil und hinterhältig sein. Lassen Sie uns besprechen, wie wir sie besiegen können.
IDOR besiegen
Zugangskontrolle ist der Schlüssel zur Lösung von IDOR. Wenn ein Benutzer einen bestimmten Datensatz anfordert, stellen Sie sicher, dass er berechtigt ist, den angeforderten Datensatz einzusehen.
Die Verwendung zentralisierter Autorisierungsmodule ist der beste Weg, dies zu tun. Tools wie Sicherheit im Frühling bieten eine robuste und anpassbare Authentifizierung und Autorisierung für Anwendungen.
Fazit: Verwenden Sie ein Modul, auf das der gesamte andere Code angewiesen ist, um Autorisierungsprüfungen durchzuführen.
Eine weitere häufige Abschwächung ist die Verwendung von Surrogatreferenzen. Anstatt die tatsächlichen Identifikatoren der Datenbankeinträge in Ihren URLs zu verwenden, können Sie Zufallszahlen erstellen, die den tatsächlichen Datensätzen zugeordnet werden.
Die Verwendung von Surrogat-Referenzen stellt sicher, dass ein Angreifer nicht zu einem Datensatz gelangen kann, indem er einfach den nächsten gültigen Bezeichner erraten muss.
Und schließlich sollten Sie sich nicht auf irgendetwas verlassen, das der Benutzer manipulieren kann, um die Autorisierung zu erteilen. AT&T hat versucht, den User-Agent-Header zu verwenden, um ihren Dienst zu autorisieren. Verlassen Sie sich nicht auf HTTP-Header, Cookies oder GET- und POST-Parameter.
Mit diesen Schutzmaßnahmen wird IDOR der Vergangenheit angehören.
Sichern Sie sich Ihre Referenzen
Unsichere direkte Objektverweise sind eine der am leichtesten ausnutzbaren Sicherheitslücken. Lassen Sie sich nicht von ihnen an Sie heranschleichen, wenn Sie es am wenigsten erwarten. Vergewissern Sie sich immer, dass Benutzer autorisiert sind. Verwenden Sie keine echten Datenbank-Identifikatoren. Verlassen Sie sich bei der Autorisierung nicht auf benutzergesteuerte Daten.
Erweitere dein Können, indem du unsere Ressourcen zum Lernen. Wenn Sie üben, wie Sie IDOR-Schwachstellen in der Sprache Ihrer Wahl minimieren können, werden Sie dieses Problem problemlos in Ihren Produktionscodebasen finden und beheben können. Sie können Ihr neu gewonnenes Verteidigungswissen auch mit einer kostenlosen Demo der Secure Code Warrior-Plattform auf die Probe stellen, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Schurkengalerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Sicherer Code Warrior-Blog.
Bereit, sich jetzt gegen IDOR-Angriffe zu verteidigen? Gehe zur Plattform und fordere dich selbst kostenlos heraus: [Fangen Sie hier an]
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.


