{"id":531,"date":"2011-03-05T13:00:58","date_gmt":"2011-03-05T12:00:58","guid":{"rendered":"https:\/\/d-mueller.de\/blog\/?p=531"},"modified":"2011-03-05T19:14:04","modified_gmt":"2011-03-05T18:14:04","slug":"reingefallen-wie-man-sich-auf-facebook-likes-erschleicht","status":"publish","type":"post","link":"https:\/\/d-mueller.de\/blog\/reingefallen-wie-man-sich-auf-facebook-likes-erschleicht\/","title":{"rendered":"Reingefallen: Wie man sich auf Facebook &#8222;Likes&#8220; erschleicht"},"content":{"rendered":"<p>Ich dachte eigentlich, immun gegen so billige Spielchen zu sein. Aus dem &#8222;Ich wei\u00df schon, wo ich hinklicke&#8220;-Grund hatte ich auch lange Zeit keinen Virenscanner drauf und fuhr eigentlich immer gut. Gestern hat michs jedoch erwischt &#8211; auf Facebook. Also jetzt nicht so richtig erwischt, aber ich habe ein Video geliked, ohne es zu wollen. Erbost ging ich der Sache auf den Grund und war ziemlich schockiert \u00fcber diese miese Praktik. Aber der Reihe nach.<\/p>\n<p>Es handelt sich &#8222;<i>http:\/\/ksmp3.de\/Guten-Morgen-Schatz-geht-daneben\/<\/i>&#8222;. Bitte erstmal nix klicken. Facebook packt den Like-Button sinnvollerweise in ein IFrame, weil man so mit Javascript keinen Klick ausl\u00f6sen kann (Cross Domain Policy). Also muss der User selbst &#8222;Like&#8220; klicken. Das was da erstmal aussieht, wie ein ordin\u00e4res Youtube-Video hat auf den zweiten Blick nicht mehr viel damit zu tun, da es sich eigentlich nur um Bilder handelt:<\/p>\n<p><b>Die normale Play-Bar:<\/b><br \/>\n<a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav1.jpg\" alt=\"\" title=\"videoNav1\" width=\"639\" height=\"27\" class=\"alignnone size-full wp-image-534\" srcset=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav1.jpg 639w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav1-300x12.jpg 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a><\/p>\n<p><b>Und bei Hover:<\/b><br \/>\n<a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav2.jpg\" alt=\"\" title=\"videoNav2\" width=\"639\" height=\"27\" class=\"alignnone size-full wp-image-535\" srcset=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav2.jpg 639w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoNav2-300x12.jpg 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a><\/p>\n<p><b>Dasselbe beim eigentlichen Video-Content:<\/b><br \/>\n<a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent1.jpg\" alt=\"\" title=\"videoContent1\" width=\"639\" height=\"348\" class=\"alignnone size-full wp-image-532\" srcset=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent1.jpg 639w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent1-300x163.jpg 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a><\/p>\n<p><b>&#8230;und gehovert:<\/b><br \/>\n<a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent2.jpg\" alt=\"\" title=\"videoContent2\" width=\"639\" height=\"348\" class=\"alignnone size-full wp-image-533\" srcset=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent2.jpg 639w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/videoContent2-300x163.jpg 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a><\/p>\n<p>Okay, schonmal ziemlich gut gemacht. Der Benutzer klickt nun also in freudiger Erwartung auf das Video. Jetzt greift folgendes Javascript:<\/p>\n<pre data-enlighter-language=\"js\" class=\"EnlighterJSRAW\">\r\n$(document).ready(function() \r\n{\r\n\t$(&#039;#player&#039;).mousemove(function(e) {\r\n\t\t$(&#039;#adra&#039;).css(&#039;left&#039;, e.pageX-1+&#039;px&#039;);\r\n\t\t$(&#039;#adra&#039;).css(&#039;top&#039;, e.pageY-1+&#039;px&#039;);\r\n\t});\r\n\t\r\n\t$(&#039;#player1&#039;).hover(function(){ $(this).css(&#039;background&#039;, &#039;url(&quot;videoContent2.jpg&quot;)&#039;);\r\n\t\t\t\t\t  },function(){ $(this).css(&#039;background&#039;, &#039;url(&quot;videoContent1.jpg&quot;)&#039;); });\r\n\t\t\t\t\t  \r\n\t$(&#039;#player2&#039;).hover(function(){ $(this).css(&#039;background&#039;, &#039;url(&quot;videoNav2.jpg&quot;)&#039;);\r\n\t\t\t\t\t  },function(){ $(this).css(&#039;background&#039;, &#039;url(&quot;videoNav1.jpg&quot;)&#039;); });\t\t\t\t\t\t      \r\n});\t\r\n\r\ndone = function()\r\n{\r\n\t$(&#039;#player&#039;).css(&#039;display&#039;, &#039;none&#039;);\r\n\t$(&#039;#realPlayer&#039;).css(&#039;display&#039;, &#039;block&#039;);\r\n}\r\n<\/pre>\n<p>Aha. Das Element <i>#adra<\/i> folgt also der Maus. Beim Hover werden die Pseudo-Video-Bilder ausgetauscht, wie man es von Youtube gewohnt ist. Und beim Klick verschwindet letztendlich der Player und gibt das frei, was darunter liegt &#8211; Das freundlicherweise sogar <i>#realPlayer<\/i> genannte Element, mit dem wirklichen Video.<\/p>\n<p>Im <i>#adra<\/i>-Div liegt der Facebook-Like-Iframe mit folgendem CSS:<\/p>\n<pre data-enlighter-language=\"css\" class=\"EnlighterJSRAW\">\r\nelement.style {\r\n\tposition: absolute;\r\n\twidth: 2px;\r\n\theight: 2px;\r\n}\r\n<\/pre>\n<p>Wenn wir jetzt mal die Dimension des <i>#adra<\/i>-Divs und des darin befindlichen Iframes etwas anpassen, kommen wir zu folgendem Ergebnis:<\/p>\n<p><a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/follower.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/follower.png\" alt=\"\" title=\"follower\" width=\"632\" height=\"375\" class=\"alignnone size-full wp-image-536\" srcset=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/follower.png 632w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2011\/03\/follower-300x178.png 300w\" sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/><\/a><\/p>\n<p>Tja, und nach einem Klick geht dann das eigentliche Youtube-Video los. Vom Prinzip her eigentlich nur <b>Clickjacking<\/b> in Perfektion &#8211; in einem verh\u00e4ltnism\u00e4\u00dfig ungef\u00e4hrlichen Kontext. Da ich aber hier selbst mal auf die Nase gefallen bin, hats mich doch ziemlich sensibilisiert. Und man \u00fcberlege sich mal, was mit dieser miesen Taktik noch alles m\u00f6glich w\u00e4re, ohne das der Benutzer etwas mitbekommt: Mit Vollzugriff ausgestattete Facebook-Apps erlauben etwa. F\u00fcr Datencrawler ein Paradies.<\/p>\n<p>Ich habe das erstmal bei Facebook gemeldet. Los werdet ihr den Mist wieder, indem ihr auf eurer Pinnwand das &#8222;X&#8220; beim Beitrag klickt und <i>Beitrag + Like entfernen<\/i> w\u00e4hlt. Ich scheine wohl auch nicht der Einzige zu sein, der darauf reingefallen ist. Aktuell verbreitet sich das Video wie die Seuche.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich dachte eigentlich, immun gegen so billige Spielchen zu sein. Aus dem &#8222;Ich wei\u00df schon, wo ich hinklicke&#8220;-Grund hatte ich auch lange Zeit keinen Virenscanner drauf und fuhr eigentlich immer gut. Gestern hat michs jedoch erwischt &#8211; auf Facebook. Also &hellip; <a href=\"https:\/\/d-mueller.de\/blog\/reingefallen-wie-man-sich-auf-facebook-likes-erschleicht\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,11,1],"tags":[],"class_list":["post-531","post","type-post","status-publish","format-standard","hentry","category-javascript","category-misc-it","category-persoenlich"],"_links":{"self":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts\/531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/comments?post=531"}],"version-history":[{"count":0,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts\/531\/revisions"}],"wp:attachment":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/media?parent=531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/categories?post=531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/tags?post=531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}