Eine Anfrage an den Warenkorb, die eigentlich die Artikel eines bestimmten Kunden zurückgeben sollte, kann stattdessen den Datensatz eines anderen Kunden liefern, wenn die Anwendung die Eigentumsrechte nicht korrekt durchsetzt. Ein Angreifer benötigt hierfür lediglich eine gültige Sitzung und eine sichtbare Objektreferenz; Malware oder Serverzugriff sind nicht erforderlich. In diesem Kurs wird diese Art von Verletzung der Zugriffsgrenzen ausschließlich in einer fest definierten, isolierten Laborumgebung untersucht, in der jede Feststellung auf beobachtbaren HTTP-Anfragen und -Antworten basiert und nicht auf einer Exploit-Kette.
Unser autorisiertes Zielsystem ist der OWASP Juice Shop unter http://app.lab:3000 (zugeordnet zur IP 10.0.0.20); die Tests erfolgen ausschließlich von einem Kali-System mit der IP 10.0.0.10 aus. Da die Laborumgebung über keine Internetanbindung verfügt, stellt eine von Burp aufgezeichnete Anfrage den Datenverkehr zwischen dem Tester und der Anwendung dar – nicht den Verkehr zu einem externen Dienst. Anwendung und Datenspeicher bleiben als getrennte Einheiten bestehen, auch wenn wir lediglich das HTTP-Verhalten der Anwendung beobachten. Betrachten wir nun die Grenzen, die sicherstellen, dass die im Labor gewonnenen Erkenntnisse aussagekräftig bleiben:
Dieses Diagramm veranschaulicht, wo Beweismaterial angesiedelt ist: bei der abgefangenen Anfrage und der zurückgegebenen Antwort an der Schnittstelle zwischen Browser und Burp. Eine Antwort – etwa ein unerwarteter Statuscode 200 OK, eine Fehlermeldung, die Implementierungsdetails preisgibt, oder Daten, die zu einem anderen Laborkonto gehören – gilt nur dann als Beweis, wenn auch die zugehörige Anfrage dokumentiert und aufbewahrt wird.
Sobald die Netzwerkgrenzen definiert sind, legen die Rules of Engagement (Verhaltensregeln) die operativen Rahmenbedingungen fest: Was darf getestet werden, wie erfolgt der Test und welche Auswirkungen sind untersagt? Als Ziel ist ausschließlich 10.0.0.20 zulässig, und die erlaubte Schnittstelle ist HTTP auf app.lab:3000. Anfragen an andere IP-Adressen, externe DNS-Namen oder Dienste liegen außerhalb des festgelegten Umfangs, selbst wenn diese über einen Browser oder Proxy leicht erreichbar sind.
Die Regeln untersagen Persistenzmaßnahmen, Denial-of-Service-Angriffe, die Wiederverwendung von Zugangsdaten außerhalb der bereitgestellten Laborkonten, die gezielte Anpassung von Payloads zur Umgehung von Schutzmechanismen sowie das Scannen nicht relevanter Adressen. Diese Einschränkungen schützen die Laborumgebung, verhindern eine unbeabsichtigte Ausweitung der Auswirkungen und stellen sicher, dass sich die Ergebnisse auf das Verhalten der zu untersuchenden Webanwendung konzentrieren. Der Computer Fraud and Abuse Act in den USA und der Computer Misuse Act 1990 in Großbritannien verdeutlichen die Bedeutung einer schriftlichen Autorisierung und eines klar definierten Testumfangs; bei diesen Verweisen handelt es sich jedoch nicht um Rechtsberatung. Wir können jede Einschränkung gegen die jeweils erforderlichen Beweise abwägen: