На сайте в адаптивной (мобильной) версии появляются левые новости

InstantCMS 2.X

На мобильных устройствах, с непонятным алгоритмом показа появляются чужая реклама, новости и ссылки

#1 14 декабря 2018 в 01:08
Заметил, что при заходе на один из поддерживаемых сайтов: www.dosaaf48.ru с мобильных устройств (Iphone, Ipad) при непонятном алгоритме показа (показывает, нет, периодически или вообще не показывает долго), появляется реклама: новости и баннеры со ссылками (в основном не пахабщина, но иногда редкая чушь. Отображается эта чепуха не только на InstantCMS, но и на PunBB, здесь вообще полностью блокируется сайт и отображается вирусное содержимое, пока не обновишься заново, соответственно, у пользователей совсем нет желания на сайте кривом оставаться.

Проверил на вирусы. Получил ссылки не понятные мне (вставки с неизвестных сайтов): polyfill.io/v2/polyfill.min.js?flags=gated,always&features=Promise,&rum=0 При переходе по ссылке, попадаешь на страницу с таким содержанием:

/* Disable minification (remove `.min` from URL path) for more info */

(function(undefined) {if (!('Promise' in this)) {!function(n){function t(e){if(r[e])return r[e].exports;var o=r[e]={exports:{},id:e,loaded:!1};return n[e].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};t.m=n,t.c=r,t.p="",t(0)}({0:function(n,t,r){(function(n){var t=r(80);try{(n||{}).Promise=t,window.Promise=t}catch(e){}}).call(t,function(){return this}())},80:function(n,t){(function(t){!function(){"use strict";function r(){return en[G]||J}function e(n,t){for(var r in t)n[r]=t[r]}function o(n){return n&&"object"==typeof n}function i(n){return"function"==typeof n}function u(n,t){return n instanceof t}function c(n){return u(n,U)}function f(n,t,r){if(!t(n))throw v®}function s(){try{return C.apply(F,arguments)}catch(e){return nn.e=e,nn}}function a(n,t){return C=n,F=t,s}function l(n,t){function r(){for(var r=0;r<o;)t(e[r],e[r+1]),e[r++]=S,e[r++]=S;o=0,e.length>n&&(e.length=n)}var e=O(n),o=0;return function(n,t){e[o++]=n,e[o++]=t,2===o&&en.nextTick®}}function h(n,t){var r,e,o,c,f=0;if(!n)throw v(V);var s=n[en[D]];if(i(s))e=s.call(n);else{if(!i(n.next)){if(u(n,O)){for(r=n.length;f<r;)t(n[f],f++);return f}throw v(V)}e=n}for(;!(o=e.next()).done;)if((c=a(t)(o.value,f++))===nn)throw i(e[K])&&e[K](),c.e;return f}function v(n){return new TypeError(n)}function _(n){return(n?"":W)+(new U).stack}function d(n,t){var r="on"+n.toLowerCase(),e=H[r];I&&I.listeners(n).length?n===Z?I.emit(n,t._v,t):I.emit(n,t):e?e({reason:t._v,promise:t}):en[n](t._v,t)}function p(n){return n&&n._s}function w(n){if(p(n))return new n(tn);var t,r,e;return t=new n(function(n,o){if(t)throw v();r=n,e=o}),f(r,i),f(e,i),t}function m(n,t){return function®{A&&(n[Q]=_(!0)),t===q?T(n,r):k(n,t,r)}}function y(n,t,r,e){return i®&&(t._onFulfilled=r),i(e)&&(n[M]&&d(Y,n),t._onRejected=e),A&&(t._p=n),n[n._c++]=t,n._s!==z&&on(n,t),t}function j(n){if(n._umark)return!0;n._umark=!0;for(var t,r=0,e=n._c;r<e;)if(t=n[r++],t._onRejected||j(t))return!0}function x(n,t){function r(n){return e.push(n.replace(/^\s+|\s+$/g,""))}var e=[];return A&&(t[Q]&&r(t[Q]),function o(n){n&&N in n&&(o(n._next),r(n[N]+""),o(n._p))}(t)),(n&&n.stack?n.stack:n)+("\n"+e.join("\n")).replace(rn,"")}function g(n,t){return n(t)}function k(n,t,r){var e=0,o=n._c;if(n._s===z)for(n._s=t,n._v=r,t===$&&(A&&c®&&(r.longStack=x(r,n)),un(n));e<o;)on(n,n[e++]);return n}function T(n,t){if(t===n&&t)return k(n,$,v(X)),n;if(t!==P&&(i(t)||o(t))){var r=a(b)(t);if(r===nn)return k(n,$,r.e),n;i®?(A&&p(t)&&(n._next=t),p(t)?R(n,t,r):en.nextTick(function(){R(n,t,r)})):k(n,q,t)}else k(n,q,t);return n}function b(n){return n.then}function R(n,t,r){var e=a(r,t)(function®{t&&(t=P,T(n,r))},function®{t&&(t=P,k(n,$,r))});e===nn&&t&&(k(n,$,e.e),t=P)}var S,C,F,P=null,E="object"==typeof window,H=E?window:t,I=H.process,L=H.console,A=!1,O=Array,U=Error,$=1,q=2,z=3,B="Symbol",D="iterator",G="species",J=B+"("+G+")",K="return",M="_uh",N="_pt",Q="_st",V="Invalid argument",W="\nFrom previous ",X="Chaining cycle detected for promise",Y="rejectionHandled",Z="unhandledRejection",nn={e:P},tn=function(){},rn=/^.+\/node_modules\/yaku\/.+\n?/gm,en=n.exports=function(n){var t,r=this;if(!o®||r._s!==S)throw v("Invalid this");if(r._s=z,A&&(r[N]=_()),n!==tn){if(!i(n))throw v(V);(t=a(n)(m(r,q),m(r,$)))===nn&&k(r,$,t.e)}};en["default"]=en,e(en.prototype,{then:function(n,t){if(void 0===this._s)throw v();return y(this,w(en.speciesConstructor(this,en)),n,t)},"catch":function(n){return this.then(S,n)},"finally":function(n){function t(t){return en.resolve(n()).then(function(){return t})}return this.then(t,t)},_c:0,_p:P}),en.resolve=function(n){return p(n)?n:T(w(this),n)},en.reject=function(n){return k(w(this),$,n)},en.race=function(n){var t=this,r=w(t),e=function(n){k(r,q,n)},o=function(n){k(r,$,n)},i=a(h)(n,function(n){t.resolve(n).then(e,o)});return i===nn?t.reject(i.e):r},en.all=function(n){function t(n){k(o,$,n)}var r,e=this,o=w(e),i=[];return r=a(h)(n,function(n,u){e.resolve(n).then(function(n){i=n,--r||k(o,q,i)},t)}),r===nn?e.reject(r.e):(r||k(o,q,[]),o)},en.Symbol=H||{},a(function(){Object.defineProperty(en,r(),{get:function(){return this}})})(),en.speciesConstructor=function(n,t){var e=n.constructor;return e?e[r()]||t:t},en.unhandledRejection=function(n,t){L&&L.error("Uncaught (in promise)",A?t.longStack:x(n,t))},en.rejectionHandled=tn,en.enableLongStackTrace=function(){A=!0},en.nextTick=E?function(n){setTimeout(n)}:I.nextTick,en._s=1;var on=l(999,function(n,t){var r,e;return e=n._s!==$?t._onFulfilled:t._onRejected,e===S?void k(t,n._s,n._v):(r=a(g)(e,n._v),r===nn?void k(t,$,r.e):void T(t,r))}),un=l(9,function(n){j(n)||(n[M]=1,d(Z,n))})}()}).call(t,function(){return this}())}});}}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});

Конечно, не могу сказать в этом ли дело. Скорее всего — да. Сканировал на вирусы содержимое сайтов. Нет вирусов. Искал по коду и имени в файлах сайта, нет толку.

Что можете сказать по этому поводу? Сайт общественной направленности — ДОСААФ, не хотелось бы портить его репутацию. В письме прикреплены скрины с вирусной рекламой.

Добра и благополучия!
Прикрепленный файл
IMG9802_n1umm.png 162 Кб
#2 14 декабря 2018 в 01:21
@sinborsky, а что тут сказать? — вирус поймали. Надо искать
#3 14 декабря 2018 в 08:42
@sinborsky, там еще модуль для слабовидящих просит денег, типа срок действия кончился. И сообщение об оплате на весь экран смартфона.
#4 14 декабря 2018 в 08:48
shock
polyfill – библиотека, которая добавляет в старые браузеры поддержку возможностей, которые в современных браузерах являются встроенными.
polyfill.io
Динамическая генерация скриптов, но она достаточно дешевая если использовать кэширующий веб-север, хотя не совсем безопасная (см чужие кэширующие прокси). С хабра.
#5 14 декабря 2018 в 22:24


shock
polyfill – библиотека, которая добавляет в старые браузеры поддержку возможностей, которые в современных браузерах являются встроенными.
polyfill.io
Динамическая генерация скриптов, но она достаточно дешевая если использовать кэширующий веб-север, хотя не совсем безопасная (см чужие кэширующие прокси). С хабра.

@elv
Про модуль знаю, надо отключить или заплатить, а про остальное совсем не понял что надо, не далёк по этому поводу…
#6 14 декабря 2018 в 22:25


@sinborsky, а что тут сказать? — вирус поймали. Надо искать

@SmartControl

В том и вопрос, что делать изначально не пойму пока. Есть похожие ситуации на других движках, на этом нигде не рассматриваются.
#7 14 декабря 2018 в 22:50
@sinborsky, не в движке дело. Внедрен посторонний код в файлы. Это не зависит от движка, это либо взлом FTP, либо еще что-то.

Вам просто нужен кто-то, кто ручками зайдет и "просканирует", сайт на предмет постороннего кода.

Из бесплатных инструментов — Айболит. Можно попробовать его, но он часто выдает очень много всяких замечаний, большая часть из которых не является проблемой.
#8 15 декабря 2018 в 00:18

Внедрен посторонний код в файлы

@SmartControl
Увы это не посторонний код, а платный виджет. finevision.ru/
#9 15 декабря 2018 в 00:39

Увы это не посторонний код, а платный виджет.

ХурумБурум
Да эт понятно, автор в курсе. Сам его поставил. Вирусы то в другом месте…
#10 15 декабря 2018 в 01:49
Случайно не добавляли сайт в сервис, который бесплатно добавит ваш сайт в каталоги?
Есть такой сайт, он предлагает разместить сайт клиента по каталогам, даёт файлик, который нужно положить в корень своего сайта и потом пишет, как ваш сайт успешно добавлен в 100500 каталогов инета… Ну а потом в файлах вашего сайта в js дописывает код, который редиректит с вашего сайта на всякие другие «левые»… И избавится от этого можно только вычистив все файлы .js от вредоносного кода.
#11 15 декабря 2018 в 09:17

В том и вопрос, что делать изначально не пойму пока. Есть похожие ситуации на других движках, на этом нигде не рассматриваются.

@sinborsky

Посмотрите в поиске по сайту на "вирус" 100500 советов и рекомендаций...

По сабжу… логичнее предположить что вирус в мобильном шаблоне раз проявляется только на мобильном.
Хотя конечно не факт...

Но тем не менее это самое простое что можно сделать и проверить для начала.

Перезалить файлы мобильного шаблона или сравнить.
Посмотреть и проверить все дополнения (перезалить или сравнить файлы) которые отображаются только на мобильной версии (если такие есть).

Попробовать отключить все лишнее и очистить кэш.
И т.д....

То есть раз вирус на мобильной версии, значит и ищем и проверяем все что его может показать на мобильной.
Движок пока можно исключить из поиска и проверки....

Внедрен посторонний код в файлы. Это не зависит от движка, это либо взлом FTP, либо еще что-то.

@SmartControl

Согласен.
#12 16 декабря 2018 в 22:12

Увы это не посторонний код, а платный виджет.

ХурумБурум
Дорого вечера! Почему Вы так считаете? Эти новости левые можно как то проследить со стороны и понять, что они зацеплены именно на этот виджет?
#13 16 декабря 2018 в 22:13

Случайно не добавляли сайт в сервис, который бесплатно добавит ваш сайт в каталоги?

@Milyana
Нет, такими вещами не занимался
#14 16 декабря 2018 в 22:15

По сабжу… логичнее предположить что вирус в мобильном шаблоне

Rainbow
Здесь, не могу ничего сказать. На сколько известно, мобильного шаблона нет, поправьте, если ошибаюсь. Есть адаптивный вариант сайта. Повторюсь, не разбирался в этом.
#15 16 декабря 2018 в 22:17

вирус поймали. Надо искать

@sinborsky

Если интересует, могу дать контакты — проверят и почистят сайт.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.