Como se livrar de vírus, que o redirecionam para gocloudly / goac no OS X e maxonclick / no iOS?

1

Eu enfrentei um problema que agora me irrita muito. Nos últimos dias, de tempos em tempos, eu era redirecionado para visitar minha lista comum de sites. Pesquisar no Google não ajudou muito, porque se a solução é para usuários do Windows, se é apenas mais um link para baixar um malware.

Redirecionamento para gocloudly / goac: OS X El Capitan (v 10.11.6) | Google Chrome (v 52.0.2743.116) (captura de tela do histórico do chrome)

aqui está uma captura de tela da história do chrome

Mostra um pop-up de confirmação que diz que meu software não está atualizado e pede para fazer o download.

  1. Eu já verifiquei meu chrome: // extensions / - não há nada incomum.
  2. Também verifiquei o meu arquivo hosts e também não há nada errado.
  3. Histórico limpo e dados de navegação.

Redirecionamento para maxonclick / e-outros-lotes-de-redirecionamentos-a partir daqui : iOS (v 9.3.5) | Safári

Redirecionamentos aleatórios.

  1. Histórico limpo e dados de navegação.
  2. Desativado JavaScript (ajudou, mas na verdade o problema não foi resolvido, ativá-lo causará o mesmo comportamento).

ATUALIZAR:

  1. Desconectado da rede doméstica no iPhone
  2. Cache do Safari limpo.
  3. Conectado à Internet móvel e o redirecionamento desapareceu , é evidente que o problema não está nesses dispositivos e em seus softwares.
mekated
fonte
Se dois navegadores diferentes em dois dispositivos mostrarem esse comportamento, suspeitei de sua rede / modem / roteador.
precisa
@ Arjan Troquei meu roteador há cerca de uma semana e, pelo que me lembro, esses problemas apareceram nesse período. Vai tentar testá-lo. Obrigado pelo seu conselho.
mekated 27/08/16
Verifique suas configurações de DNS no seu novo roteador e verifique se não há uma atualização de firmware para o seu roteador.
Tonin

Respostas:

0

Minha correção rápida para esse problema foi bloquear qualquer solicitação de DNS para esse domínio.

Isso provavelmente não resolve o problema na raiz, mas por enquanto parece funcionar.

Algumas coisas que eu notei são:

  • isso acontece tanto no meu computador quanto no meu telefone e em redes diferentes,
  • os scripts maliciosos são injetados apenas em httpsolicitações,
  • eles interceptam qualquer primeiro clique borbulhando na <html>tag,
  • eles parecem ser injetados por várias fontes (gerenciador de tags do Google, serviços de tags do Google e platform.twitter.com , que eu conheço).

chamada do gerenciador de tags do google chamada de serviços de tag do google chamada de plataforma no twitter

O script por si só não parece perigoso, apenas faz você abrir uma nova página com anúncios e clickbaits potencialmente perigosos.

Eu o embelezei parcialmente abaixo:

var PPid = "p20161003pr";
var PPRet = [];
var userAgent = navigator.userAgent.toLowerCase();
var isOpera = -1 != userAgent.indexOf("opera");
var isChrome = -1 != userAgent.indexOf("chrome");
var PPdl = "3";
var PPbl = "";
var PPwl = "";
var PPmw = 450;
var urlOfDamnation = "https://goo.gl/Vjh91p";
var PPcl = [1].sort();
var PPcc = 0;
var PPac;
PPbl = PPbl == "" ? [] : PPbl.split(" ");
PPwl = PPwl == "" ? [] : PPwl.split(" ");
function PPdef(_0x50e8x14) {
  return (typeof (_0x50e8x14) == "undefined") ? false : true
}
function chPrnt(_0x50e8x19, _0x50e8x14) {
  var _0x50e8x17 = false;
  if (_0x50e8x19 != null ) {
    l = _0x50e8x14 == "w" ? PPwl : PPbl;
    if (l.length > 0) {
      for (var _0x50e8x18 = 0; _0x50e8x18 < l.length; _0x50e8x18++) {
        if (_0x50e8x19.id == PPbl[_0x50e8x18]) {
          _0x50e8x17 = true;
          break
        }
      }
      ;delete l;
      !_0x50e8x17 && (_0x50e8x17 = chPrnt(_0x50e8x19.parentNode, _0x50e8x14))
    }
  }
  ;return _0x50e8x17
}
function attachOpenNewTabOnClick() {
  if (document.attachEvent) {
    document.attachEvent("onclick", openNewTab)
  } else {
    if (document.addEventListener) {
      document.addEventListener("click", openNewTab, false)
    }
  }
}
function PPnCL() {
  return (PPcl.length > 0) ? PPcl.shift() : false
}
function setV(_0x50e8x20, _0x50e8x21) {
  var _0x50e8x22 = PPdl
    , _0x50e8x23 = new Date;
  _0x50e8x23.setTime(_0x50e8x23.getTime())
}
function getCookieValue(cookieKey) {
  var cookies = document.cookie;
  cookieKey += "=";
  var cookieStartIndex = cookies.indexOf("; " + cookieKey);
  if (-1 == cookieStartIndex) {
    cookieStartIndex = cookies.indexOf(cookieKey);
    if (0 != cookieStartIndex) {
      return null
    }
  } else {
    cookieStartIndex += 2
  }
  var cookieEndIndex = cookies.indexOf(";", cookieStartIndex);
  if (-1 == cookieEndIndex) {
    (cookieEndIndex = cookies.length);
  }
  return unescape(cookies.substring(cookieStartIndex + cookieKey.length, cookieEndIndex))
}
function openNewTab() {
  var _0x50e8x14 = getCookieValue("PP_CL" + PPid) ? parseInt(getCookieValue("PP_CL" + PPid)) : PPcc;
  _0x50e8x14++;
  PPac !== false && (setV("PP_CL" + PPid, _0x50e8x14));
  if (!getCookieValue("PP_ID" + PPid + "." + PPac) && _0x50e8x14 == PPac) {
    setV("PP_ID" + PPid + "." + PPac, 1);
    if (document.createEvent && (isOpera || isChrome)) {
      var _0x50e8x18 = document.createElement("a");
      _0x50e8x18.href = urlOfDamnation;
      _0x50e8x18.target = "_blank";
      var _0x50e8x19 = document.createEvent("MouseEvents");
      _0x50e8x19.initMouseEvent("click", !0, !0, window, 1, 0, 0, 0, 0, !0, !1, !1, !1, 1, null );
      _0x50e8x18.dispatchEvent(_0x50e8x19)
    } else {
      _0x50e8x18 = window.open("about:blank", "win" + Math.floor(9999999 * Math.random()) + 1, "toolbar=0,scrollbars=1,location=1,statusbar=1,menubar=0,resizable=1,top=0,left=0,width=" + window.screen.width + "px,height=" + window.screen.height + "px");
      with (_0x50e8x18) {
        opener.window.focus(),
          _0x50e8x18.location = urlOfDamnation,
        "undefined" != typeof window.mozPaintCount && window.open("about:blank").close()
      }
    }
    ;for (var _0x50e8x18 = document.getElementsByClassName("mtaddiv"), _0x50e8x19 = _0x50e8x18.length, _0x50e8x17 = 0; _0x50e8x17 < _0x50e8x19; _0x50e8x17++) {
      "object" == typeof _0x50e8x18[_0x50e8x17] && _0x50e8x18[_0x50e8x17].setAttribute("style", "position:none;left:0px;top:0px;height:0;width:0;z-index:0;display:none;")
    }
    ;PPac = PPnCL()
  }
  ;_0x50e8x14 == PPac - 1 && (addMtadDivElementOnTopOfTagElementsAndAttachOpenNewTabOnClick("iframe"),
    addMtadDivElementOnTopOfTagElementsAndAttachOpenNewTabOnClick("object"),
    addMtadDivElementOnTopOfTagElementsAndAttachOpenNewTabOnClick("embed"));
  PPcc = _0x50e8x14
}
function addMtadDivElementOnTopOfTagElementsAndAttachOpenNewTabOnClick(tagName) {
  try {
    if (!getCookieValue("PP_ID" + PPid + "." + PPac)) {
      var elements = document.getElementsByTagName(tagName);
      var elementsCount = elements.length;
      for (var index = 0; index < elementsCount; index++) {
        var elementOffsetWidth = elements[index].offsetWidth;
        var elementOffsetHeight = elements[index].offsetHeight;
        var check = true;
        if (PPwl.length > 0 && !chPrnt(elements[index], "w")) {
          check = false;
        }
        if (check && (PPbl.length > 0 && chPrnt(elements[index], "b"))) {
          check = false;
        }
        if (elementOffsetWidth > PPmw && check) {
          var mtadDivElement = document.createElement("div");
          mtadDivElement.className = "mtaddiv";
          var elementDimensions = elements[index].getBoundingClientRect();
          var dimensions = {
            top: Math.round(elementDimensions.top + (window.pageYOffset || (document.documentElement.scrollTop || document.body.scrollTop)) - (document.documentElement.clientTop || (document.body.clientTop || 0))),
            left: Math.round(elementDimensions.left + (window.pageXOffset || (document.documentElement.scrollLeft || document.body.scrollLeft)) - (document.documentElement.clientLeft || (document.body.clientLeft || 0)))
          };
          mtadDivElement.setAttribute("style", "position: absolute;left:" + dimensions.left + "px;top:" + dimensions.top + "px;height:" + elementOffsetHeight + "px;width:" + elementOffsetWidth + "px;z-index:899");
          if (PPwl.length > 0) {
            attachOpenNewTabOnClick(mtadDivElement);
          }
          document.body.appendChild(mtadDivElement)
        }
      }
    }
  } catch (e) {}
}
function bcStart() {
  if (!startScript) {
    startScript = !0;
    PPcc = getCookieValue("PP_CL" + PPid) ? parseInt(getCookieValue("PP_CL" + PPid)) : 0;
    while (PPcl.length > 0) {
      PPac = PPnCL();
      if (PPac > PPcc) {
        break
      }
    }
    ;PPcl.length == 0 && PPac <= PPcc && (PPac = false);
    if (PPdef(PPRet)) {
      if (PPRet.length > 0) {
        var _0x50e8x2f = "";
        for (var _0x50e8x23 = 0; _0x50e8x23 < PPRet.length; _0x50e8x23++) {
          _0x50e8x2f = _0x50e8x2f + "&" + PPRet[_0x50e8x23]
        }
        ;urlOfDamnation = urlOfDamnation + _0x50e8x2f
      }
    }
    ;(PPcc == PPac - 1 && PPac) && (addMtadDivElementOnTopOfTagElementsAndAttachOpenNewTabOnClick("iframe"),
      addMtadDivElementOnTopOfTagElementsAndAttachOpenNewTabOnClick("object"),
      addMtadDivElementOnTopOfTagElementsAndAttachOpenNewTabOnClick("embed"));
    for (var _0x50e8x20 = PPbl, _0x50e8x21 = _0x50e8x20.length, _0x50e8x2a = 0; _0x50e8x2a < _0x50e8x21; _0x50e8x2a++) {
      var _0x50e8x2c = document.getElementById(_0x50e8x20[_0x50e8x2a]);
      null != _0x50e8x2c && (_0x50e8x2c.onmouseup = function(_0x50e8x18) {
          _0x50e8x18 = _0x50e8x18 || window.event;
          _0x50e8x18.stopPropagation ? _0x50e8x18.stopPropagation() : _0x50e8x18.cancelBubble = !0
        }
      )
    }
    ;if (PPwl.length > 0) {
      for (_0x50e8x23 = 0; _0x50e8x23 < PPwl.length; _0x50e8x23++) {
        var _0x50e8x22 = document.getElementById(PPwl[_0x50e8x23]);
        _0x50e8x22 != null && attachOpenNewTabOnClick(_0x50e8x22)
      }
    } else {
      attachOpenNewTabOnClick(document)
    }
  }
}
var startTimeout = setTimeout(bcStart, 3000)
  , startScript = null ;
if ("function" == typeof window.addEventListener) {
  window.addEventListener("load", function() {
    clearInterval(startTimeout);
    bcStart()
  }, !1)
} else {
  try {
    window.attachEvent("onload", function() {
      clearInterval(startTimeout);
      bcStart()
    })
  } catch (D) {}
}
document.getElementsByClassName = function(className) {
  var matchingElements = [];
  className = new RegExp("\b" + className + "\b");
  for (var allDOMElements = this.getElementsByTagName("*"), index = 0; index < allDOMElements.length; index++) {
    if (className.test(allDOMElements[index].className)) {
      matchingElements.push(allDOMElements[index])
    }
  }
  ;return matchingElements
}
Enoah Netzach
fonte
como posso bloquear uma solicitação para um domínio específico? você poderia por favor elaborar este?
Prateek Jain