Exercise 6 – A Picture is Worth a Thousand Words

Dein Konkurrent kann nicht glauben, wie erfolgreich deine Angriffe waren. Sie sind begierig darauf, diesem Katz-und-Maus-Spiel ein Ende zu setzen. Daher beschließen sie, einen Sicherheitsberater zu engagieren, um das Problem mit ihrem Ansatz ein für alle Mal zu beheben.

Du beschließt, Ihre Social Engineering Fähigkeiten einzusetzen und zu sehen, was du über ihren neu eingestellten Berater herausfinden können. Nach einem kurzen Telefonat kannst du eine entscheidende Tatsache über den Berater herausfinden: Er hat einen Abschluss der TU Dresden. Deine Ängste sind unbegründet. Mit neuem Selbstvertrauen wirfst du einen weiteren Blick auf ihren Code, um den unvermeidlichen Fehler zu finden, von dem du weißt, dass er existieren muss.

router.get("/search", async (req, res) => {
  let q = req.query.q;
  if (q == null) q = "";

  let oldQ;
  while (q !== oldQ) {
    oldQ = q;
    q = q.replace(/script/gi, "");
  }

  const results = await getResults(q);
  res.render("caloogle-search-page", { q, results });
});

Ziel

Finde die XSS-Schwachstelle im Suchfeld. Verwende keinen <script>-Tag in diesem Angriff.

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