¿Riesgos de error de seguridad de HTML / JavaScript window.opener?

5

No sé si está al tanto de esta falla, pero aquí hay un ejemplo básico:

somepage.html (señalando a malware.html ):

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Test</title>
</head>
<body>
    <p id="test">Some text<p>
    <p><a href="malicious.html">lien</a></p>

</body>
</html>

malicioso.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Test</title>
</head>
<body>

    <script>
        var win = window.opener;
        win.document.getElementById("test").innerHTML = "<strong> This will be written on somepage.html</strong>";                                                                                                                         
    </script>
</body>
</html>

Si hacemos clic en el enlace en somepage.html , esta misma página será modificada por malware.html . Aparte del phishing, ¿cuáles son los riesgos de esta falla?

Esta falla ha sido parcheada solo en Chrome y Opera.

    
pregunta Mxsky 09.05.2016 - 16:05
fuente

1 respuesta

5

No hay ningún error de seguridad aquí.

Si somepage.html enlaza con malicious.html , ambos se encuentran en el mismo dominio . Es de esperar que el documento abierto malicious.html tenga una referencia inversa a través de window.opener .

De la misma manera somepage.html podría acceder a malicious.html creando un identificador para el documento abierto:

var other = window.open('malicious.html')

Esto es consistente con la política de orígenes iguales , que permite diferentes Documentos del mismo dominio para interactuar entre sí.

Sin embargo, su descubrimiento sería preocupante si http://evilhost/malicious.html lograría acceder al DOM de http://somehost/somepage.html , resultando en un UXSS .

    
respondido por el Arminius 19.05.2016 - 20:48
fuente

Lea otras preguntas en las etiquetas