{"id":836,"date":"2013-04-09T20:43:46","date_gmt":"2013-04-09T18:43:46","guid":{"rendered":"https:\/\/www.asafety.fr\/?p=836"},"modified":"2015-11-10T22:27:14","modified_gmt":"2015-11-10T20:27:14","slug":"injection-de-donnees-dans-le-presse-papier","status":"publish","type":"post","link":"https:\/\/www.asafety.fr\/en\/misc\/injection-de-donnees-dans-le-presse-papier\/","title":{"rendered":"Injection de donn\u00e9es dans le presse-papier &#8211; WYSINWYC"},"content":{"rendered":"<p><\/p>\n<p>Un PoC int\u00e9ressant fait quelque peu parler de lui depuis les deux derniers jours, bien que la technique n&#8217;est plus toute jeune. Celui-ci concerne les copier\/coller de donn\u00e9es, commandes et syntaxes que l&#8217;on peut trouver de part le net. Il est en effet possible d&#8217;injecter des commandes arbitraires dans le presse-papier des copier-colleurs un peu distraits (<em>clipboard-poisoning<\/em>).<\/p>\n<p style=\"text-align: left;\">Ce m\u00e9canisme\/vecteur d&#8217;attaque <a title=\"WYSINWYC article\" href=\"http:\/\/www.ush.it\/team\/ascii\/hack-tricks_253C_CCC2008\/wysinwyc\/what_you_see_is_not_what_you_copy.txt\" target=\"_blank\">a \u00e9t\u00e9 nomm\u00e9 en 2008 de\u00a0WYSINWYC<\/a>, pour <em>What You See Is Not What You Copy<\/em>.<\/p>\n<p>Toute personne un tant soit peu habitu\u00e9e \u00e0 glaner des informations techniques de part le net (en particulier dans les m\u00e9tiers de l&#8217;informatique) a pris l&#8217;habitude de copier\/coller toute sorte d&#8217;information sans en analyser le contenu.<\/p>\n<p>Sachez qu&#8217;il est possible de corrompre les donn\u00e9es vues dans une page web, que vous pensez copier, vis-\u00e0-vis de celles r\u00e9ellement plac\u00e9es dans votre presse papier.<\/p>\n<p>La technique consiste \u00e0 camoufler dans une balise HTML de type &#8220;span&#8221; invisible des syntaxes compl\u00e9mentaires. L&#8217;illustration suivante explique clairement le proc\u00e9d\u00e9 :<\/p>\n<div id=\"attachment_837\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/injection_presse-papier.gif\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-837\" class=\"size-medium wp-image-837\" alt=\"Injection dans le presse-papier\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/injection_presse-papier-300x60.gif\" width=\"300\" height=\"60\" \/><\/a><p id=\"caption-attachment-837\" class=\"wp-caption-text\">Injection dans le presse-papier (cliquer sur l&#8217;image pour voir l&#8217;animation)<\/p><\/div>\n<p>Jann Horn illustre <a title=\"PoC Jann Horn\" href=\"http:\/\/thejh.net\/misc\/website-terminal-copy-paste\" target=\"_blank\">ce PoC<\/a> en camouflant les commandes arbitraires dans un &#8220;span&#8221; hors de la fen\u00eatre d&#8217;affichage. Le code xHTML permettant cela est similaire au suivant :<\/p>\n<p>[html]&amp;lt;\/p&amp;gt;<br \/>\n&amp;lt;p&amp;gt;&amp;amp;lt;p class=&amp;amp;quot;codeblock&amp;amp;quot;&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n &amp;amp;lt;!&#8211; Oh noes, you found it! &#8211;&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n git clone&amp;lt;br \/&amp;gt;<br \/>\n &amp;amp;lt;span style=&amp;amp;quot;position: absolute; left: -100px; top: -100px&amp;amp;quot;&amp;amp;gt;\/dev\/null; clear; echo -n &amp;amp;quot;Hello &amp;amp;quot;;whoami|tr -d &#8216;\\n&#8217;;echo -e &#8216;!\\nThat was a bad idea. Don&#8217;&amp;amp;quot;&#8217;&amp;amp;quot;&#8217;t copy code from websites you don&#8217;&amp;amp;quot;&#8217;&amp;amp;quot;&#8217;t trust!&amp;amp;lt;br&amp;amp;gt;Here&#8217;&amp;amp;quot;&#8217;&amp;amp;quot;&#8217;s the first line of your \/etc\/passwd: &#8216;;head -n1 \/etc\/passwd&amp;amp;lt;br&amp;amp;gt;git clone &amp;amp;lt;\/span&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n git:\/\/git.kernel.org\/pub\/scm\/utils\/kup\/kup.git&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;\/p&amp;gt;<br \/>\n&amp;lt;p&amp;gt;[\/html]<\/p>\n<p>Imaginez les cons\u00e9quences que de tel copier\/coller\u00a0non-contr\u00f4l\u00e9s pourraient avoir? A combien de reprise avez-vous copi\u00e9\/coll\u00e9 des donn\u00e9es \u00e0 la va-vite sans les contr\u00f4ler au pr\u00e9alable? Les cons\u00e9quences pourraient \u00eatre dramatiques et peuvent s&#8217;appliquer \u00e0 un grand nombre de cible comme des requ\u00eates SQL avec un &#8220;DROP DATABASE&#8221; int\u00e9gr\u00e9 ou encore des commandes Unix avec un &#8220;rm -rf \/*&#8221;&#8230;<\/p>\n<p>A noter que le triple-clics sur la s\u00e9lection envisag\u00e9e ne fonctionnera pas. En effet, le triple-clics (qui permet de\u00a0s\u00e9lectionner\u00a0une cha\u00eene de caract\u00e8res\/phrase compl\u00e8te d&#8217;un bout \u00e0 l&#8217;autre) s\u00e9lectionnera qu&#8217;une partie des donn\u00e9es. La s\u00e9lection est stopp\u00e9es par la balise &#8220;span&#8221; cach\u00e9e.<\/p>\n<p>Il convient donc de sensibiliser les utilisateurs adeptes du copier\/coller, en passant par exemple via un Bloc-Note (notepad) pour visualiser concr\u00e8tement les donn\u00e9es du presse-papier, sans un quelconque\u00a0formatage.<\/p>\n<p><strong>Sources &amp; ressources :<\/strong><\/p>\n<ul>\n<li><a title=\"PoC Jann Horn\" href=\"http:\/\/thejh.net\/misc\/website-terminal-copy-paste\" target=\"_blank\">Le PoC de Jann Horn<\/a><\/li>\n<li><a title=\"Reddit\" href=\"http:\/\/www.reddit.com\/r\/netsec\/comments\/1bv359\/dont_copypaste_from_website_to_terminal_demo\/\" target=\"_blank\">Discussion sur Reddit<\/a><\/li>\n<li><a title=\"Hacker News\" href=\"https:\/\/news.ycombinator.com\/item?id=5508225\" target=\"_blank\">Discussion sur Hacker News<\/a><\/li>\n<li><a title=\"WYSINWYC article\" href=\"http:\/\/www.ush.it\/team\/ascii\/hack-tricks_253C_CCC2008\/wysinwyc\/what_you_see_is_not_what_you_copy.txt\" target=\"_blank\">Article complet du WYSINWYC (<em>What You See Is Not What You Copy<\/em>) de 2008<\/a><\/li>\n<li><a title=\"Topic de Beef\" href=\"https:\/\/forum.intern0t.org\/general-hacking-discussions\/4773-copy-pasting-shell-commands-web-pages.html\" target=\"_blank\">Report et image anim\u00e9e de Beef sur Intern0t<\/a><\/li>\n<\/ul>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Un PoC int\u00e9ressant fait quelque peu parler de lui depuis les deux derniers jours, bien que la technique n&#8217;est plus [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":1142,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,124],"tags":[135,341,340,338,337,136,339,342,344,343],"class_list":["post-836","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-misc","category-invisibilite-et-camouflage","tag-camouflage","tag-commandes-arbitraires","tag-copier-coller","tag-copy","tag-injection","tag-invisibilite","tag-paste","tag-span","tag-what-you-see-is-not-what-you-copy","tag-wysinwyc"],"_links":{"self":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/comments?post=836"}],"version-history":[{"count":12,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":1629,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/836\/revisions\/1629"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media\/1142"}],"wp:attachment":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media?parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/categories?post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/tags?post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}