Javascript / Ajax Hijacking

1

Me preguntaba si debajo de las solicitudes GET de un archivo HTML y un archivo javascript, ¿son vulnerables al secuestro de AJAX / secuestro de JavaScript?

Secuestro AJAX: enlace Secuestro de JavaScript: enlace

1)

                    var req = new XMLHttpRequest();
                    req.open("GET", queryUrl, false);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4) {
                            if (this.status == 200) {
                                //do something }
                                                  }
                                             }
                   req.send();

2)

                var req = new XMLHttpRequest();
    req.open("GET", encodeURI(ODataPath() + type + "Var1"+ Value1+"), true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
        if (this.readyState == 4 /* complete */) {
            req.onreadystatechange = null;
             // Do Something
    };
    req.send();
};
    
pregunta p_upadhyay 22.09.2015 - 18:06
fuente

2 respuestas

1

Esto es solo un problema en navegadores extremadamente antiguos, por ejemplo, Firefox 3 . Si el código del lado del cliente no elimina ningún "crucero no analizable", es probable que el lado del servidor sea vulnerable. El otro requisito para una vulnerabilidad es que el JSON es recuperable a través de GET. A partir de su pregunta, ya podemos ver que se trata de solicitudes GET, por lo que debe agregar un cruft no analizable o hacer algunas comprobaciones para asegurarse de que estén en un navegador moderno.

La otra opción es no hacer nada, esto podría no ser un riesgo para usted si el uso del navegador anterior es poco común.

    
respondido por el SilverlightFox 22.09.2015 - 20:56
fuente
1

Sus llamadas están bien siempre y cuando no envíen matrices JSON con información confidencial como se menciona en sus fuentes. Tal vez podría usar solicitudes HTTPS normales para esa información en su lugar.

    
respondido por el Kevin Yu 22.09.2015 - 19:01
fuente

Lea otras preguntas en las etiquetas