Anstatt zufällige Angriffe auszuprobieren oder eine Angriffsmusterliste durchzugehen, ist es eine gute Idee, zuerst herauszufinden, ob und wo eine Sicherheitslücke besteht. Durch das Einfügen eines Payload, welcher typischerweise eine zugrundeliegende SQL-Abfrage (z.B. ' oder ';--) unterbrechen sollte, können Sie einen Fehler provozieren, bei dem die Anwendung Details über die Abfragestruktur und Schemadetails wie Tabellen- oder Spaltennamen verrät.
Um diese Aufgabe zu lösen, müssen Sie die Score Board Seite finden.
Diese Challenge wird nicht mittels SQL Injection gelöst.
Schauen Sie sich den Quelltext des Juice Shops an.
Was wäre eine anfällige Webanwendung ohne ein Administratorkonto, dessen (angeblich) privilegierte Zugriffsrechte ein erfolgreicher Hacker missbrauchen kann?
Der Titel der Challenge hat wahrscheinlich verraten, wo man angreifen sollte.
Wenn Sie die E-Mail-Adresse des Administrators bereits kennen, können Sie einen gezielten Angriff starten.
Sie haben vielleicht Glück mit einem allgemeinen Angriffsmuster, auch wenn Sie die Admin-E-Mail-Adresse nicht kennen.
Wenn Sie den Administrator-Passwort-Hash haben, könnten Sie natürlich auch diesen verwenden, um sich anzumelden.
Um diese Aufgabe zu lösen, müssen Sie ein Produkt bestellen, das inzwischen nicht mehr im Store verfügbar ist.
Finden Sie heraus, wie die Anwendung gelöschte Produkte vor ihren Kunden verbirgt.
Versuchen Sie, einen Angriffsstring zu erstellen, der gelöschte Produkte wieder sichtbar macht.
Sie müssen das gelöschte Produkt in Ihren Warenkorb legen und zum Checkout gelangen.
Es empfiehlt sich die Kommunikation der HTTP-Requests und -Respones anzusehen.
Bender ist ein Stammkunde, hängt aber meistens im Juice Shop herum, um ihn wegen seiner fehlenden alkoholischen Getränken zu trollen.
Email Struktur: user@juice-sh.op
Der Titel der Challenge hat wahrscheinlich verraten, welches Formular man angreifen sollte.
Sie müssen die E-Mail-Adresse von Bender kennen, damit Sie einen gezielten Angriff starten können.
Falls Sie einen anderen Ansatz als SQL Injection ausprobieren, werden Sie feststellen, dass Benders Passwort-Hash nicht sehr nützlich ist.
Email Struktur: user@juice-sh.op
Der Titel der Challenge hat wahrscheinlich verraten, welches Formular man angreifen sollte.
Sie müssen die E-Mail-Adresse von Jim kennen, damit Sie einen gezielten Angriff starten können.
Wenn Sie Jims Passwort-Hash haben, können Sie versuchen diesen zu benutzen, anstatt SQL Injection zu verwenden.
Wie in der Architekturübersicht angegeben, verwendet OWASP Juice Shop eine MongoDB als NoSQL-Datenbank.
Die Kategorie „NoSQL Injection“ verrät bereits den erwarteten Angriffsvektor für diese Challenge. Andere Angriffsvektoren zu verwenden, wird die Challenge nicht lösen, auch wenn sie das gleiche Ergebnis erzielen.
Insbesondere das Überfluten der Anwendung mit Anfragen wird diese Challenge nicht lösen. Das würde wahrscheinlich nur die Server-Instanz abschießen.
Versuchen Sie, einen API Aufruf zu finden, von dem Sie die Liste der ausgegebenen Daten beeinflussen können.
Erstellen Sie einen UNION SELECT-Angriffsstring, um Daten aus einer anderen Tabelle in das ursprüngliche Ergebnis einzubinden.
Möglicherweise müssen Sie einige Probleme mit der SQL Abfragesyntax Schritt für Schritt angehen, wobei Sie im Grunde genommen von einem Fehler zum nächsten springen.
Die Benutzeroberfläche und die API bieten nur Möglichkeiten, einzelne Produktbewertungen abzugeben.
Bei dieser Challenge geht es darum, mehrere Bewertungen gleichzeitig zu senden.
Werfen Sie einen genauen Blick darauf, wie UPDATE-Anweisungen in MongoDB funktionieren.
Es lohnt sich auch zu untersuchen, wie Query Operators (https://docs.mongodb.com/manual/reference/operator/query/) in MongoDB arbeiten.