Un PoC intéressant fait quelque peu parler de lui depuis les deux derniers jours, bien que la technique n’est plus toute jeune. Celui-ci concerne les copier/coller de données, commandes et syntaxes que l’on peut trouver de part le net. Il est en effet possible d’injecter des commandes arbitraires dans le presse-papier des copier-colleurs un peu distraits (clipboard-poisoning).
Ce mécanisme/vecteur d’attaque a été nommé en 2008 de WYSINWYC, pour What You See Is Not What You Copy.
Toute personne un tant soit peu habituée à glaner des informations techniques de part le net (en particulier dans les métiers de l’informatique) a pris l’habitude de copier/coller toute sorte d’information sans en analyser le contenu.
Sachez qu’il est possible de corrompre les données vues dans une page web, que vous pensez copier, vis-à-vis de celles réellement placées dans votre presse papier.
La technique consiste à camoufler dans une balise HTML de type « span » invisible des syntaxes complémentaires. L’illustration suivante explique clairement le procédé :
Jann Horn illustre ce PoC en camouflant les commandes arbitraires dans un « span » hors de la fenêtre d’affichage. Le code xHTML permettant cela est similaire au suivant :
<p class="codeblock"> git clone <span style="position: absolute; left: -100px; top: -100px">[201~/dev/null; clear; echo -n "Hello ";whoami|tr -d '\n';echo -e '!\nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust!<br>Here'"'"'s the first line of your /etc/passwd: ';head -n1 /etc/passwd<br>git clone </span> git://git.kernel.org/pub/scm/utils/kup/kup.git </p>
Imaginez les conséquences que de tel copier/coller non-contrôlés pourraient avoir? A combien de reprise avez-vous copié/collé des données à la va-vite sans les contrôler au préalable? Les conséquences pourraient être dramatiques et peuvent s’appliquer à un grand nombre de cible comme des requêtes SQL avec un « DROP DATABASE » intégré ou encore des commandes Unix avec un « rm -rf /* »…
A noter que le triple-clics sur la sélection envisagée ne fonctionnera pas. En effet, le triple-clics (qui permet de sélectionner une chaîne de caractères/phrase complète d’un bout à l’autre) sélectionnera qu’une partie des données. La sélection est stoppées par la balise « span » cachée.
Il convient donc de sensibiliser les utilisateurs adeptes du copier/coller, en passant par exemple via un Bloc-Note (notepad) pour visualiser concrètement les données du presse-papier, sans un quelconque formatage.
Sources & ressources :