¿Es este código dañino? ¿Por qué?

4

Código: enlace

El código se recupera de enlace para cada página HTTP que visito (no HTTPS) y lo cargué en la etiqueta del cuerpo de la página.

¿Es perjudicial de alguna manera? Por favor revisa.

¿Qué parte declara que es dañina?

Una cosa más ... cada solicitud HTTP (no solicitudes HTTPS) que hago a través del navegador va a través del siguiente enlace ... http: //intad.pag2p.co/dva1/int.php?s=1&c=5&u=http%3A%2F%2Fwww.google.co.in%2F

En lo anterior, intentaba visitar http: //google.com

No sé por qué sucede todo esto.

var blacklistCheck;
(function () {
    function r(e, t) {
        for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n])
    }
    function i(e, t, n, r) {
        if (e.addEventListener) return e.addEventListener(t, n, r), !0;
        if (e.attachEvent) {
            var i = e.attachEvent("on" + t, n);
            return i
        }
    }
    function s(t) {
        function r(e) {
            return Math.pow(e, .6)
        }
        var n = new Date,
            i = this,
            s = e.transitionSpeed,
            o = setInterval(function () {
                var e = new Date - n,
                    u = e / s;
                u > 1 && (u = 1), t.call(i, r(u)), u === 1 && clearInterval(o)
            }, 10)
    }
    var e = {
        baseDir: "http://ui.sidepage.co",
        version: "4",
        element: "S1D3P4G3",
        loadDelay: 3e3,
        displayDelay: 1e4,
        transitionSpeed: 300
    };
    e.location = e.baseDir + "/" + e.version + "/";
    var t = {
        hasInner: typeof window.innerWidth == "number",
        hasElement: document.documentElement !== null && document.documentElement.clientWidth,
        windowWidth: function () {
            return this.hasElement ? document.documentElement.clientWidth : document.body.clientWidth
        },
        computeShifts: function () {
            this.shiftX = this.hasInner ? pageXOffset : this.hasElement ? document.documentElement.scrollLeft : document.body.scrollLeft, this.centerX === !0 ? this.shiftX += this.windowWidth() / 2 : this.targetLeft > 0 ? this.shiftX += this.targetLeft : this.shiftX += (this.hasElement ? document.documentElement.clientWidth : this.hasInner ? window.innerWidth - 20 : document.body.clientWidth) - this.targetRight - this.node.offsetWidth, this.shiftY = this.hasInner ? pageYOffset : this.hasElement ? document.documentElement.scrollTop : document.body.scrollTop, this.targetTop > 0 ? this.shiftY += this.targetTop : this.shiftY += (this.hasElement ? document.documentElement.clientHeight : this.hasInner ? window.innerHeight - 20 : document.body.clientHeight) - this.targetBottom - this.node.offsetHeight
        },
        moveElem: function () {
            this.computeShifts();
            if (this.currentX !== this.shiftX || this.currentY !== this.shiftY) this.currentX = this.shiftX, this.currentY = this.shiftY, document.layers ? (this.node.left = this.currentX, this.node.top = this.currentY) : (this.node.style.left = this.currentX + "px", this.node.style.top = this.currentY + "px");
            this.node.style.right = "", this.node.style.bottom = ""
        },
        floatElem: function () {
            this.moveElem();
            var e = this;
            setTimeout(function () {
                e.floatElem()
            }, 50)
        },
        supportsFixed: function () {
            var e = document.createElement("div");
            e.id = "testingPositionFixed", r(e.style, {
                position: "fixed",
                top: "0px",
                right: "0px"
            }), document.body.appendChild(e);
            var t = 1;
            return typeof e.offsetTop == "number" && e.offsetTop !== null && e.offsetTop !== "undefined" && (t = parseInt(e.offsetTop, 10)), t === 0 ? !0 : !1
        },
        init: function (e, t) {
            this.centerX = t, this.node = e, this.currentX = this.shiftX = this.hasInner ? pageXOffset : this.hasElement ? document.documentElement.scrollLeft : document.body.scrollLeft, this.currentY = this.shiftY = this.hasInner ? pageYOffset : this.hasElement ? document.documentElement.scrollTop : document.body.scrollTop;
            if (this.supportsFixed()) this.node.style.position = "fixed";
            else {
                var n = this.node.style;
                r(this, {
                    targetLeft: parseInt(n.left, 10),
                    targetTop: parseInt(n.top, 10),
                    targetRight: parseInt(n.right, 10),
                    targetBottom: parseInt(n.bottom, 10)
                });
                var s = this;
                i(window, "scroll", function () {
                    s.moveElem()
                }, !1), this.floatElem()
            }
        }
    }, n = {
        init: function () {
            this.closeClicked = !1, this.transitionStatus = !1, this.buildElements(), this.buildLayout(), this.styleElements(), t.init(this.sp, this.centerX), this.registerMouseEvents(), this.finalize();
            var n = this;
            this.transitionTimeoutId = setTimeout(function () {
                n.initialTransition()
            }, e.loadDelay)
        },
        buildElements: function () {
            this.sp = document.getElementById(e.element), this.sp.style.cssText = "z-index: 2147483647; overflow: hidden; position: absolute; display: none;", this.side = document.createElement("div"), this.side.id = "sp_side", this.side.style.cssText = "position: relative; width: 20px; float: left;", this.open = document.createElement("a"), this.open.id = "sp_open", this.open.style.cssText = "background: url('" + e.location + "sp_sprite.jpg') no-repeat; display: block; opacity: 0.5;", this.close = document.createElement("a"), this.close.id = "sp_close", this.close.style.cssText = "background: url('" + e.location + "sp_sprite.jpg') no-repeat; display: block; opacity: 0.5;", this.bottomHover = document.createElement("div"), this.bottomHover.id = "sp_bottom_hover", this.container = document.createElement("div"), this.container.id = "sp_container", this.container.style.cssText = "position: relative; float: left;", this.iframe = document.createElement("iframe"), this.iframe.style.cssText = "position: relative; border: 0px;", r(this.iframe, {
                id: "sp_frame",
                frameborder: 0,
                marginWidth: 0,
                marginHeight: 0,
                scrolling: "no",
                allowTransparency: "true"
            })
        },
        registerMouseEvents: function () {
            function t() {
                this.style.opacity = 1
            }
            function n() {
                this.style.opacity = .5
            }
            var e = this;
            this.open.onmouseover = t, this.open.onmouseout = n, this.open.onclick = function () {
                return clearTimeout(e.transitionTimeoutId), e.transitionIn(), !1
            }, this.close.onmouseover = t, this.close.onmouseout = n, this.close.onclick = function () {
                return e.closeClicked = !0, clearTimeout(e.transitionTimeoutId), e.transitionOut(), !1
            }, this.iframe.onmouseover = function () {
                !e.transitionStatus && !e.closeClicked && e.initialTransition()
            }
        },
        finalize: function () {
            this.sp.style.display = "", t.supportsFixed() === !0 ? this.hasFixedSupport = !0 : this.hasFixedSupport = !1
        },
        initialTransition: function () {
            if (!this.closeClicked) {
                this.transitionStatus = !0, this.transitionIn();
                var t = this;
                this.transitionTimeoutId = setTimeout(function () {
                    t.transitionOut(), t.transitionStatus = !1
                }, e.displayDelay)
            }
        }
    };
    i(window, "load", function () {
        if (window.top === window.self) {
            n.centerX = !0, n.styleElements = function () {
                r(this.sp.style, {
                    left: "50%",
                    bottom: "-90px",
                    height: "90px",
                    marginLeft: "-374px",
                    marginRight: "-374px",
                    width: "748px"
                }), r(this.close.style, {
                    backgroundPosition: "-20px -40px",
                    height: "20px",
                    opacity: "0",
                    overflow: "hidden",
                    marginTop: "0px",
                    width: "20px"
                }), r(this.container.style, {
                    height: "90px",
                    width: "728px"
                }), r(this.iframe.style, {
                    height: "90px",
                    width: "728px"
                }), this.iframe.src = e.location + "page_old.html?t=" + this.sp.className, this.side.style.height = "90px"
            }, n.buildLayout = function () {
                this.sp.appendChild(this.container), this.sp.appendChild(this.side), this.side.appendChild(this.close), this.container.appendChild(this.iframe)
            }, n.transitionIn = function () {
                this.close.style.opacity = 1, this.iframe.style.opacity = 1, this.sp.style.bottom = 0
            }, n.transitionOut = function () {
                this.close.style.opacity = 0, this.iframe.style.opacity = 0, this.sp.style.bottom = "-85px"
            }, blacklistCheck = function (e) {
                e.value === "NO" && n.init();
                if (e.category) {
                    var t = document.createElement("img");
                    t.src = "http://c7.zedo.com/img/bh.gif?n=1668&g=20&a=" + e.category + "&s=1&t=i&f=1", t.width = "1", t.height = "1", t.border = "0";
                    var r = document.getElementsByTagName("body")[0];
                    r && r.appendChild && r.appendChild(t)
                }
            };
            var i = document.createElement("script");
            i.type = "text/javascript", i.src = "http://bl.sidepage.co/?location=" + encodeURIComponent(window.location) + "&t=" + document.getElementById(e.element).className + "&callback=blacklistCheck", document.body.appendChild(i)
        }
    })
})();
    
pregunta abhisekp 22.01.2013 - 10:07
fuente

1 respuesta

9

El código no parece particularmente malicioso, es algún tipo de inyección / seguimiento de anuncios. Es casi seguro que no está intentando golpearlo con el navegador 0 días o robar sus credenciales bancarias. Sin embargo, la gran preocupación es que está ahí en primer lugar y que está sujeta a cambios.

Hay algunas posibilidades:

  1. Su caja está infectada y el código se está inyectando a nivel de socket. Hubo un rootkit reciente para Linux que hace esto de manera bastante inteligente, pero como estás en Windows, creo que podría haber cualquier cantidad de malware diferente.
  2. Tienes una barra de herramientas poco fiable o un complemento de navegador que está haciendo esto. Si has desactivado todo eso, este es descartado.
  3. Su navegador ha sido modificado, ya sea en la base de origen original o por un tercero, para inyectar este contenido. Dudo mucho de esto, aunque hubo un caso como este con un repositorio de paquetes Redhat que se penetró.
  4. Su ISP está inyectando el tráfico.

Supongo que la cuarta opción es la más probable, si has descartado las dos primeras. Debe probar esto en las computadoras de otras personas que también usan el mismo ISP. Si puedes correlacionar la inyección, tienes evidencia. En ese momento, depende de usted lo que haga al respecto. Podrías quejarte ante el ISP, pero dudo que eso haría mucho. La mejor opción es votar con su ISP de cambio de efectivo y asegurarse de que saben por qué, y expresar su opinión sobre el problema en los sitios de redes sociales. Incluso es posible que tenga recursos legales (según las leyes locales y el contrato del ISP), pero tendría que consultar con un abogado al respecto.

    
respondido por el Polynomial 22.01.2013 - 10:54
fuente

Lea otras preguntas en las etiquetas