Exercise 15 – The Early Bird Catches the Worm

Dein Konkurrent möchte die Benutzererfahrung verbessern und entscheidet sich, Analytik-Tracking-Code in einem <script>-Tag zu seiner Website hinzuzufügen. Besonders interessiert sind sie daran, die Bildschirmauflösungen ihrer Benutzer zu erfahren, um sicherzustellen, dass ihre Website auf allen Geräten gut aussieht, die ihre Benutzer möglicherweise verwenden.

Sie entscheiden sich auch dafür, die Suchanfrage des Benutzers zusammen mit der Bildschirmgröße zu senden, falls sich das später als nützlich erweist.

<script>
  let q = "meine coole Suche";
  window.sendAnalytics({
    q,
    screenWidth: window.screen && window.screen.width,
    screenHeight: window.screen && window.screen.height,
  });
</script>

Du vermutest, dass sie die neue narrensichere Funktion htmlAttributeEscape() verwenden, um sicherzustellen, dass ein Benutzer nicht aus den Anführungszeichen im JavaScript-Code "ausbrechen" kann. Schließlich ersetzt die Funktion einfache und doppelte Anführungszeichen durch ihre jeweiligen HTML-Entitäten.

Ist das wirklich genug?

Ziel

Finde die XSS-Schwachstelle im Suchfeld. Du kannst jedes HTML-Tag verwenden, um die Funktion success() auszuführen.

Tipp

Möglicherweise musst du den HTML-Quellcode des <iframe> ansehen.

Bevor du zur nächsten Übung übergehst, denke daran, deine "Angriffseingabe" im Opal-Kurs abzugeben.